0

我需要使用该Exec任务执行以下 Windows Azure SDK 工具:

C:\Program Files\Microsoft SDKs\Windows Azure\.NET SDK\v2.3\bin\cspack.exe

在我的.build文件中引用此路径的最佳方法是什么?

直接参考,如下所示,它可能不适用于所有主机(构建服务器和开发机器):

<Target Name="CreatePackage" DependsOnTargets="Build" AfterTargets="Build">
  <Exec Command="C:\Program Files\Microsoft SDKs\Windows Azure\.NET SDK\v2.2\bin\cspack.exe /parameters"></Exec>
</Target>

(注意:我不想使用 CSPack 任务)

4

1 回答 1

1

我的经验法则是要么使用ToolLocationHelper类,要么使用注册表属性$(registry:Hive\Foo),或者启动诸如快速环境编辑器之类的东西,然后选择一个变量,它可以为我提供最短、最容错的路径。在这种情况下,您没有太多选择,您可以做的最好的事情是拥有一个Include="$(ProgramW6432)\Microsoft SDKs\Windows Azure\.NET SDK\**\bin\cspack.exe"可以防止不同架构、非默认路径和版本的项目,或者如果它是更大脚本的一部分,则setenv.cmd首先运行并使用$(ServiceHostingSDKInstallPath). 您也可以尝试运行msbuild foo.build /v:diag > foo.txt并查看评估的属性转储,但各种 SDK 路径将取决于您运行的是 x86 还是 x64 MSBuild,并且是特定于开发人员的。

于 2014-06-11T11:16:56.857 回答