22

最近、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 スイッチとは関係ありません。私たちもそれを試しましたが、役に立ちませんでした。

4

4 に答える 4

15

ディスク容量不足の警告の後、同じ問題が発生しました。

ファイル C:\Users\user.name\AppData\Local\Microsoft\Team Foundation\4.0\Cache\VersionControl.config を削除/名前変更すると、私の場合は問題が解決しました。

于 2015-01-05T10:22:58.417 に答える
5

すべてのキャッシュ フォルダーをクリアします。

  • %WINDIR%\System32\Config\Systemprofile\AppData\Local\Microsoft\Team Foundation\3.0\Cache
  • %WINDIR%\SysWOW64\Config\Systemprofile\AppData\Local\Microsoft\Team Foundation\3.0\Cache
于 2014-01-30T14:47:30.803 に答える
3

チーム エクスプローラーは、TFS に接続されていると表示されました。しかし、「ソース管理エクスプローラー」は切断されているとラベル付けされていました。

「C:\Users\user.name\AppData\Local\Microsoft\Team Foundation\4.0\Cache\VersionControl.config」を削除すると、問題も解決しました。(どうも)

于 2015-12-08T12:48:26.257 に答える
1

TFSディレクトリをクリアする必要があるという@mhuの示唆に従ってCache、ビルドサーバーにキャッシュサブフォルダーがある「Team Foundation」フォルダーを完全に検索しました。

次に、それらを削除するバッチ ファイルを作成しました。このスクリプトが実行された後、私のビルドは機能しました。

ファイル名:ClearTFSCache.bat ファイルの内容:

@echo+

@echo Removing TFS Cache Folder #1
@RD /S /Q "C:\Users\AAA_USERNAME\AppData\Local\Microsoft\Team Foundation\4.0\Cache"

@echo Removing TFS Cache Folder #2
@RD /S /Q "C:\Windows\ServiceProfiles\BBB_SERVICEACCOUNT\AppData\Local\Microsoft\Team Foundation\4.0\Cache"

@pause

ここで置き換える必要がある 2 つの変数があります:-

  1. AAA_USERNAME現在のユーザーのユーザー名です (サーバーへの手動ログインに基づく)。
  2. BBB_SERVICEACCOUNTTFS ビルド サービスの実行に使用されるアカウント用で、Team Foundation Server 管理コンソールからアクセスできます。

    TFS キャッシュの場所を見つける方法

    私の場合は「NetworkService」でした。

于 2016-09-23T23:51:37.140 に答える