1

Visual Studio 2012 を使用して C++ アプリケーションをビルドしています。ソース フォルダーのコマンドラインから実行すると、次のようになります。

C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe /p:Configuration=Release /p:Platform=Win32 Myproject2012.sln

それは正常に動作します。ビルドサーバー (Atlassian Bamboo) の Buildscript を介して実行すると、多くのエラーが発生します。最初の2行..

C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.CppCommon.targets(347,5): error MSB4018: The "CL" task failed unexpectedly. [C:\data\bamboo-home\xml-data\build-dir\XXX-IMB-JOB1\XXX\common\common.vcxproj] 
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.CppCommon.targets(347,5): error MSB4018: System.TypeInitializationException: The type initializer for 'Microsoft.Build.Utilities.FileTracker' threw an exception. ---> System.IO.DirectoryNotFoundException: Das System kann den angegebenen Pfad nicht finden. (Exception from HRESULT: 0x80070003) [C:\data\bamboo-home\xml-data\build-dir\XXX-IMB-JOB1\XXX\common\common.vcxproj]

この動作の理由は何ですか?

4

2 に答える 2

1

Sysinternals psexec を使用すると、Bamboo の外部でシステムとしてビルドを実行できます。

psexec -i -s cmd.exe

それから試してくださいC:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe /p:Configuration=Release /p:Platform=Win32 Myproject2012.sln

次に、権限を昇格したシェルを作成して再試行します。それがパーミッションかパスかを確認するのに役立つはずです。システムとして C++ をビルドしようとしましたが、PK のようです。または、次の可能性があります: MSBUILD MSB4018 エラー

于 2013-08-29T09:26:17.900 に答える
0

問題が見つかりました。システム アカウントには、msbuild が気に入らないデフォルトの一時ディレクトリがあります。それを "c:\temp" に変更しましたが、動作しません。

他の誰かが問題を抱えている場合は、レジストリで変更できます

HKEY_USERS\.DEFAULT\Environment
于 2013-08-30T05:45:48.283 に答える