私はこの問題を数日間調査しましたが、答えはありませんでした。エラー コードへの参照がありますが、根本的な問題に関係なく、すべての「コンパイラの初期化」エラーに BC2000 が使用されていると思います。
MSBuild 12.0 を使用して開発環境で問題なくコンパイルできる VS ソリューションがあります。ただし、MSBuild 12.0 を使用して Win 2008 R2 SP1 ビルド マシンでコンパイルしようとすると、致命的なエラーが発生します。
MSBuild に対して実行されるコマンドは次のとおりです。
"C:\Program Files (x86)\MSBuild\12.0\Bin\MSBuild.exe" "path\to\solution.sln" /target:Clean;Build /verbosity:normal /toolsversion:12.0 /nologo /property:WarningLevel="2" /property:Configuration="Release"
受け取ったエラーは次のとおりです。
vbc: Error: Fatal error BC2000 : compiler initialization failed unexpectedly: Project already has a reference to assembly Microsoft.VisualBasic. A second reference to 'path\to\dotnet4\System.dll' cannot be added. (Fatal error BC2000)
これはこの質問に似ています。ただし、Mono を使用していないため、彼らが使用するセットアップはありません。
問題のプロジェクトには、Microsoft.VisualBasic アセンブリへの参照が 1 つしかありません。また、実行される vbc コマンドは開発マシンとビルド マシンで類似しており、前述のアセンブリを 1 回だけ参照します。
開発マシンとビルド マシンも同様です。
- .NET フレームワークのバージョン: 4.6.1
- 使用している MSBuild: 12.0
違う:
- 開発マシンには VS 2010 または VS 2013 が搭載されています。
- ビルド マシンに VS がインストールされていません。
- ビルド マシンには、MS Visual C++ Build Tools 2015 もインストールされています。
誰もこの問題に遭遇したことがありますか? それを修正する方法についてのアイデアはありますか?ありがとう。