我在prebuild事件中运行datasvcutil.exe命令。
datasvcutil.exe位于“C:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319”(在64位计算机上)。
我可以将其硬编码为C:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ datasvcutil.exe,但这似乎相当脆弱。当一个假想的.net v4.0.30320出来时,我的预建活动将不再有效。
使用Visual Studio命令提示符,我可以在路径中调用datasvcutil.exe。我想知道是否有类似的间接方式从我的预构建事件命令行调用它。
答案 0 :(得分:4)
由于您需要的工具与MSBuild.exe
位于同一路径,因此您只需使用$(MSBuildBinPath)\DataSvcUtil.exe
引用它即可使其独立于 Framework / Framework64
答案 1 :(得分:2)
我喜欢上面的Filburts回答。但如果你真的想要勇敢,你可以调用:
%VS100COMNTOOLS%\VCVarsQueryRegistry.bat
rem and query one of the %FrameworkDIR32% or %FrameworkDIR64% environment variables, depending on your choice
如果你更勇敢,MSBuild能够自己阅读注册表 - 以下链接可能有所帮助:http://msdn.microsoft.com/en-us/library/ms171458.aspx(查看“注册表属性”部分)