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)を使用するか、Rapid Environment Editor などを起動して、最短で最もフォールト トレラントなパスを提供する変数を選択します。この場合、選択肢はあまりありません。最善の方法は、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 に答える