在预生成事件中引用"C:WindowsMicrosoft.NETFramework64v4.0.30319datasvcutil.exe"的间接方法



我在预构建事件中运行datasvcutil.exe命令。

datasvcutill .exe位于"C:WindowsMicrosoft.NETFramework64v4.0.30319"(64位机器)

我可以将其硬编码为C:WindowsMicrosoft.NETFramework64v4.0.30319datasvcutil.exe,但这似乎相当脆弱。当一个假想的。net v4.0.30320出来时,我的预构建事件将不再工作。

在Visual Studio命令提示符下,我可以调用datasvcutil.exe而不输入路径。我想知道是否有类似的间接方式从我的预构建事件命令行调用此。

由于您需要的工具与MSBuild.exe在相同的路径中,您可以简单地使用$(MSBuildBinPath)DataSvcUtil.exe引用它,这将使它也独立于Framework/Framework64

我喜欢上面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(检查"注册表属性"部分)

相关内容

最新更新