プロジェクトを .NET 3.5 から .NET 4.6.1 に移動しました。ビルドしようとすると (ビルド後のイベント コマンドとして以下を使用)、次のエラーが発生します。
gacutil -if "$(TargetPath)"
コマンド「gacutil -if "[xyz.dll]"」はコード 1 で終了しました
このスタック オーバーフローの回答を参照しました: gacutil postbuild event exists with code 1
問題は、.NET 4.0 以降のプロジェクトで使用する必要がある GacUtil の新しいバージョンがあるという事実にあるようです。
これが現在の gacutil へのパスであると判断しました。私のパス環境変数はこれに設定されています:
C:\>where gacutil
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\gacutil.exe
C:\Program Files (x86)\Microsoft SDKs\Windows に移動すると、いくつかの異なる SDK バージョンから選択できることがわかります。
- v7.0A
- v7.1A
- v8.0
- V8.0A
- V8.1
- V8.1A
- V10.0A
最新バージョンの gacutil へのパスを選択するだけだと思いますか?
新しい Path 環境変数は次のようになります。
C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.7.2 Tools