最近、TFS 2010 で奇妙な問題が発生しました。解決するまでに数日かかりました。他の人を助けるかもしれない問題に関する私の知識を共有したいだけです.
以前は2年ほど問題なく動いていました。しかし突然、ビルドが次のエラーで失敗し始めました。
このソリューションでプロジェクトを 1 つずつビルドします。並列ビルドを有効にするには、"/m" スイッチを追加してください。MSBUILD : エラー MSB4017: 予期しないロガー エラーのため、ビルドが予期せず停止しました。Microsoft.Build.Exceptions.InternalLoggerException: 予期しないロガー エラーのため、ビルドが予期せず停止しました。---> Microsoft.TeamFoundation.VersionControl.Client.VersionControlException: キャッシュ ファイル C:\Windows\system32\config\systemprofile\AppData\Local\Microsoft\Team Foundation\3.0\Cache\VersionControl.config は無効であり、読み込まれました。ファイルを修正または削除してください。---> System.NullReferenceException: オブジェクト参照がオブジェクトのインスタンスに設定されていません。Microsoft.TeamFoundation.VersionControl.Client.InternalCacheLoader.LoadConfig (InternalCache currentCache,
エラー メッセージに記載されているキャッシュ フォルダーの内容を削除しても解決しませんでした。
その頃、2つの偶然がありました:
サーバーのドライブ C: の空き容量が不足していました。
サポート担当者は、TFS の Service Pack 1 を含む Windows 更新プログラムをインストールしていました。
私たちのプロジェクトのいくつかは 32 ビットでした。たとえば、Silverlight は 32 ビットでなければならず、まだ 64 ビットではありません。ただし、TFS サーバーは 64 ビットです。プロジェクトを適切にコンパイルするには、ビルド定義で "Auto" (TFS サーバーと同様に 64 ビット コンパイルを実行する) または 32 ビット コンパイルを強制する "X86" を指定する必要があります。
X86 のものは、上記のエラーで突然失敗し始めました。
解決:
どうやら、キャッシュフォルダーの別の場所もあります: C:\Windows\SysWOW64\config\systemprofile\AppData\Local\Microsoft\Team Foundation\3.0\Cache
そのフォルダーの内容を削除したところ、すべてが正常に機能し始めました。
ところで: /m スイッチとは関係ありません。私たちもそれを試しましたが、役に立ちませんでした。