私は何十ものカスタム コード分析ルールを作成しました。ルールは、Visual Studio 2010 を対象として開発されました。必要に応じて、アセンブリには FxCopSdk、Microsoft.Cci、および Microsoft.VisualStudio.CodeAnalysis のバージョン 10.0 への参照が含まれています。これらは Visual Studio 2010 で正しく実行され、TFS 2010 で正しくビルドされます。
Visual Studio 2012 に移行したいのですが、VS 2012 を使用して既存のソリューションでカスタム ルールを実行すると、CA0062 エラーが発生します。根本的な原因は、カスタム ルール アセンブリをロードする CA0053 エラーです。これらの 3 つのアセンブリへの参照は、Visual Studio 2012 のバージョン 11 に更新する必要があることを理解しています。これは、構成ファイルでバージョン リダイレクトを使用して行うことができます。Visual Studio 2012 IDE および FxCopCmd バイナリをリダイレクトすることでローカルで動作させることができますが、コードを TFS 2010 にチェックインするときに問題が発生します。
私たちが検討した明らかな解決策は 2 つありますが、どちらもあまり好ましいものではありません。1 つ目は、各開発者がローカルでリダイレクトすることを要求し、TFS ビルド エージェントもリダイレクトするように変更することです。2 つ目は、カスタム コード分析ルールの 2 つの分岐を維持することです。1 つはバージョン 10 (VS2010) を対象とし、もう 1 つはバージョン 11 (VS2012) を対象としています。
これを行うためのより良い方法はありますか?それとも、全員を TFS 2012 と Visual Studio 2012 に同時にアップグレードする必要がありますか?