2

何が起こっているのかはある程度わかっていますが、それを修正する方法がわかりません。TeamCity 6.5 を使用して、コマンドライン スクリプトを介してプラットフォーム ビルダー 6.0 プロジェクトをビルドしています。私たちが直面している問題は、複数のビジュアル スタジオがインストールされていることです。

Team City は、そのパスでどの Visual Studio を使用するかを認識していないようです。

LINK : fatal error LNK1101: incorrect MSPDB80.DLL version; recheck installation of this product

私が考えているのは、Visual Studio 2005 ではなく 2010 の mspdbsrv.exe を起動し、sysgen 中に失敗していることです。奇妙な部分は、この問題がチーム シティから実行されている場合にのみ存在することです。コマンド プロンプトから .bat ファイルを手動で呼び出すと、問題なく動作します。したがって、生成されて実行される SetEnv.bat は環境をセットアップしている可能性がありますが、TeamCity は新しい環境変数などを取得しません。

どんな助けでも素晴らしいでしょう!ありがとう

4

1 に答える 1

2

私たちはまったく同じ問題に直面し、それを解決しました。

これは、2005 以外の Visual Studio がインストールされていない場合にも発生します。根本的な原因は、Studio サービス パックまたは更新プログラムがインストールされているときに、一部の mspdb*.* ファイルが正しく更新されないことです。

解決:

  • SYSTEM アカウントからではなく、ユーザーとして TeamCity をインストールして実行していることを確認してください。
  • VS80 ホットフィックス KB920770 がインストールされていることを確認してください。これは必要ないかもしれませんが、誰が知っていますか。
  • ビルド マシンを再起動し、ビルドが開始されると実行可能ファイルがロックされることがあるため、TeamCity によってビルドが開始されないことを確認します。
  • マシンのすべてのフォルダーで mspdb*.* ファイルを検索します。
  • 互換性のないいくつかのバージョンとして、マシン上に mspdb80.dll、mspdbcore.dll、mspdbsrv.exe が見つかるはずです。
  • 「c:\WINCE600\SDK\BIN\I386\」にあるファイルが問題になります (これらは古すぎて、正しく更新されていません)。
  • "c:\Program Files\Microsoft Visual Studio 8\Common7\IDE" 内のファイルは新しいファイルである必要があります。
  • WINCE600 の 3 つの古いファイルの名前を何らかの名前に変更します (例: xxx_mspdb80.dll)。
  • 新しいファイルを Common7\IDE フォルダーから c:\WINCE600\SDK\BIN\I386 にコピーします。
  • マシンを再起動します。
  • TeamCity で新しいビルドを試してください。これは私たちを助けました。
于 2012-08-22T16:00:27.230 に答える