MSBuild, 環境変数, Property Functions,ビルド時計算
Visual StudioからBuildしたときに環境変数が取得できない…
MSBuild Extension PackにEnvironmentVariableタスクがあるけれど、標準でついてないなんてありえません。プロパティ式に組み込んでもいいくらいなのに。
$(env:DXSDK_DIR)みたいな感じで
んー,手元の Visual Studio 2008 でも Visual Studio 2010 でも,$(DXSDK_DIR) で環境変数を取得できているような……
$(PROCESSOR_REVISION) とか,$(OS) とか色々試してみましたが,こちらも特に問題なく取得できました.
というわけで,そもそも何が問題なのか今ひとつよく分からないのですが,MSBuild 4.0 以降では,Property Functions を使って明示的に書くこともできます.
$([System.Environment]::GetEnvironmentVariable("DXSDK_DIR"))
こんな感じで,いくつかの事前定義された .NET クラスライブラリを使用できるようになるわけですね.例えば System.Math を呼び出してビルド時に三角関数を計算,なんてのも可能です.