第一次遭遇脚本: 利用xsd自动生成cs的一个问题
今天在编译项目的时候出现了如下错误
The command "cscript E:\Schemas\UpdateSchemaClass.js "C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\..\..\SDK\v2.0\Bin\xsd.exe" " exited with code 1.PackageSchemas
看了下大致的意思是使用xsd.exe工具产生cs文件的时候出错了. 使用多个关键字在baidu上查都没有查到任何有用的资料,刚巧google不太好用.
后来发现在project的属性项的Build Events tab的Pre-build event 项里看到
cscript $(ProjectDir)UpdateSchemaClass.js "$(DevEnvDir)..\..\SDK\v2.0\Bin\xsd.exe"
才大致明白了产生cs的过程.
原来是在编译前执行这个脚本文件自动产生这些cs文件的.问题是找着了,可是不知道哪里出错了,同事编译一点问题也没有.
自己个人临时的解决方法就是,去掉这个pre-build event,然后copy一下同事编译出来的cs文件,ok整个solution编译通过了.
(今天接着写)
在上海博客MSN群里问了几个高手,刚开始大家以为是那个js写的有问题,叫我调试一下.然后告诉我怎么调试,我也拼命google关于调试脚本的技巧,可惜自己这方面太白,老半天没找到有用的.
不过看到有篇文章写到客直接在控制台运行脚本
在控制台里用 cscript执行了一下刚才的脚本,,结果报了错 There is no script engine for file extentsion ".js". 而同事可以正确执行.问人,基本能锁定问题了:环境有问题,脚本引擎出问题了.
然后大家出谋划策怎么修正,后来一朋友发了个链接重新装了Windows Script就好了.Windows Script 5.6 for Windows XP and Windows 2000
再次感谢博客群里的朋友!
大致在这个问题上花了,2,3个小时,不过对于脚本东东有了一些认识,,从大白变成到小白:-)