1

私の会社は最近、2010、2008、および2005年の任意のビジュアルスタジオプロジェクトからLINTファイルを作成できるVisual Studio 2010アドインを作成しました。これから、同じアドインをVisualStudio2012で機能させたいと考えています。まだではないにしても、近い将来、多くのお客様がこれを使用することを知っています。

単純な「スイッチイン」であり、同じコードが両方で機能するはずだと考えましたが、見よ、VS10アドインはVS12では機能しませんでした。そこで、コードを(まったく変更なしで)VS12アドインにコピーしましたが、驚いたことに、それは機能しました。当然、同じコードの2つのバージョンは必要ありません。読みやすさ、保守性に悪いので、VS10アドインをVS12で動作させる方法を見つけたいと思っています。

問題はMicrosoft.VisualStudio.VCProjectEngineアセンブリにあると思います。これは、VS12ではVS10とは異なる方法で解釈されます。つまり、VS12がアドインを読み取るときに、必要な処理を実行しません。

私はこの問題についていくつかの調査を行い、多くの人がリフレクションを使用して回避策を作成することを提案していますが、私はこの概念にかなり慣れておらず、試してみるのに十分な自信がなく、アドインを深刻に台無しにするリスクがあります。

だから私の質問はこれです:Microsoft.VisualStudio.VCProjectEngineのVS10バージョンをVS12に読み込むことができる素晴らしい簡単な方法はありますか?

とても有難い :)

4

1 に答える 1

1

私は後でこの質問に対する答えを見つけ、それがスレッドで確認されていないことに気づきました。

答えは確かにVCProjectEngineアセンブリにあります。何らかの理由で、これはVisual Studio 2010のモジュール(同じ名前の)とは異なるモジュールです。つまり、VS2012で記述されたときにモジュールを必要とするコードは、VS2010では機能しません。その逆も同様です。

まったく同じコードが2つあることを意味するので、これは苦痛ですが、そうしなければなりません。

于 2013-05-29T06:47:49.837 に答える