0

csproj でコーディングしているビルド前のターゲットを実行したいと考えています。これは、プロジェクトが参照する dll を生成するために tlbimp を実行する必要があります。

tlbimp を実行しようとしていますが、見つからないというエラーが発生します。パスを推測するために使用できる msbuild 変数または環境変数はありますか?

4

2 に答える 2

2

MSBuild 12 (VS2013) では、

$(TargetFrameworkSDKToolsDirectory)

に指差す

C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools\

すなわちtlbimp.exe_

"$(TargetFrameworkSDKToolsDirectory)tlbimp.exe"

(これはどこで定義されていますか? )

于 2014-08-29T09:43:13.027 に答える
1

直接変数はないかもしれませんが、いくつかの組み込み変数を使用してパスを作成できます。私のマシンと同様に、複数の場所に 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"

あなたがアイデアを得たことを願っています...

于 2013-11-12T10:50:38.033 に答える