1

ビルド マシンには、VS 2010 と VS 2012 の両方がインストールされています。(VS 2010 から 2012 への移行はほぼ完了しており、2012 に移行したばかりです。ビルド マシンも TFS 2012 上にあります。) 静的コード分析などの機能にはこれが必要なようです。

ビルドを実行すると、エラーが発生します。プロジェクト ファイルに異なる (ルール) .dll があるのに、FXCop は間違った .exe バージョンを選択するのが得意なようです。(意味: プロジェクト ファイルに v10 ファイルがありますが、v11 exe が使用されるか、またはその逆です。) その上 (VS2010 をアンインストールした後)、VS 2010 を必要とするいくつかのレガシー C++ プロジェクトで問題が発生しました (MSBuild v100 ではなく、いくつかの MSBuild v100 が必要です)。 v110 より)。

結局、私は VS2012 をアンインストールしましたが、VS 2012 に完全に移行したら元に戻すことになるでしょう (プロジェクトが VS 2010 と互換性がある場合、チームの一部のメンバーはまだ満足しています)。実際には、VS2010 のみがインストールされた状態で動作しています (ただし、いくつかの変更を元に戻す必要がありました)。

複数のVSバージョンがインストールされている場合、ビルド内から静的コード分析に使用しているFXCopを特定することは可能ですか?

4

1 に答える 1

1

まあ、これは一種の混乱です。VS2010 と 2012 を並べて配置するのではなく、ビルド サーバーに配置するものを選択的に選択することになりました (2012 には多くの問題があったため、ロールバックする必要がありました)。

最終的に追加しました-

  • .NET 4.5 SDK
  • .NET 4.5 マルチターゲット パック
  • .NET 4.5 フレームワーク
  • VS2012 がインストールされているマシンの C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\PublicAssemblies にあるファイルを、ビルド マシンの同じパスにコピーします。
  • VS2012 がインストールされているマシンの C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0 にあるファイルを、ビルド マシンの同じパスにコピーします。

これですべてうまくいったと思いますが、そこにすべてのアセンブリを配置するには、多くの試行錯誤が必要でした。幸運を!

于 2013-05-09T15:01:33.400 に答える