在预建事件中引用“C:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ datasvcutil.exe”的间接方法

时间:2011-10-13 16:30:27

标签: visual-studio visual-studio-2010 prebuild pre-build-event

我在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。我想知道是否有类似的间接方式从我的预构建事件命令行调用它。

2 个答案:

答案 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(查看“注册表属性”部分)