csproj でコーディングしているビルド前のターゲットを実行したいと考えています。これは、プロジェクトが参照する dll を生成するために tlbimp を実行する必要があります。
tlbimp を実行しようとしていますが、見つからないというエラーが発生します。パスを推測するために使用できる msbuild 変数または環境変数はありますか?
MSBuild 12 (VS2013) では、
$(TargetFrameworkSDKToolsDirectory)
に指差す
C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools\
すなわちtlbimp.exe
_
"$(TargetFrameworkSDKToolsDirectory)tlbimp.exe"
直接変数はないかもしれませんが、いくつかの組み込み変数を使用してパスを作成できます。私のマシンと同様に、複数の場所に tlbim.exe があります。
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\TlbImp.exe
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools\TlbImp.exe
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools\x64\TlbImp.exe
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\x64 \TlbImp.exe
C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools\TlbImp.exe
C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\bin \NETFX 4.0 Tools\x64\TlbImp.exe
C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\TlbImp.exe
C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\x64\TlbImp 。EXE
そして、「C:\Program files」フォルダーの Windows デフォルト環境変数を次のように使用して、目的の Tlbim.exe を使用できます。
"%ProgramFiles(x86)%\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools\x64\Tlbimp.exe"
Msbuild プロジェクトでは、%var% の代わりに $(var) を使用する必要があるため、次のようにする必要があります。
"$(ProgramFiles(x86))\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools\x64\Tlbimp.exe"
あなたがアイデアを得たことを願っています...