2012-11-21 22 views
5

私は内部で使用するためにVisual Studio用の拡張機能をいくつか開発しました。これらは、Visual Studioのいくつかの異なるバージョンをサポートする必要があります(VS2008、2010年と2012年 - VS2005は必要なものですが、必須ではありません)。これらのツール(Visual Studio 2012 .sln)の既存プロジェクト構造にできるだけ多くのコードを再利用しながら、可能な限り一貫した方法でこれらを開発したいと思います。複数のバージョンのVisual Studio用のVisual Studioアドインの開発

この種の拡張機能を開発するには、どのような方法が最適ですか? VSPackageプロジェクトですか? VS2012で開発された2008年対応のVSPackageを作成できますか?

私が現時点で作成している拡張機能に必要な機能はかなり基本的です。ツールメニューコマンドを作成する必要があります。カスタムツールウィンドウを作成する必要があります。私の要求は後で変わるかもしれませんが、私はエディタの装飾品やそのようなものは現時点では必要ありません。

それは本当にあなたの拡張を行うために何が起こっているかに依存し

答えて

3

私は重複して見えるかもしれないthis質問を見ましたが、受け入れられた答えは質問に答えていないので...。

VS2008は拡張子(.vsix)をサポートしていないため、VS2008にはmsiとして展開されたVSPackageを記述する必要があります。また、VS2010で導入された多くの新機能(エディタの統合やMEFによるVSサービスへのアクセスが容易)にアクセスすることはできませんが、ソリューション/プロジェクト/ファイルの操作などの基本的な作業はすべてのバージョンでうまくいくはずです(DTE大丈夫なはず)。

限り、あなたも、もはや私はVS2012で2008パッケージを開発しようとしていない2010年と2012年

のために必要とされるobtain a PLK、にする必要がありますが、あなたは間違いなく2010年の拡張を開発することができますVS2008のために私が覚えています

また、VS2008は.Net 3.5なので、あなたのコードでは、.net 3.5とそれが移植可能であることをサポートするC#のバージョンを使用する必要があることを覚えておいてください。

+0

現時点では私のrequiremntsはかなり基本的です - ツールメニューコマンド、たぶんtoolwindow(その情報で質問を更新しました)。私は後で装飾のようなより高度な要件を持っているかもしれませんが、それまでにはVS2012にいるべきです。 PLKはコードを再利用するチャンスを殺す可能性があります。 – JohnL

+1

PLKはVS2008があなたのパッケージを読み込むために必要なだけですが、コードはまだ再利用可能です。ツールメニューのコマンドとツールウィンドウを追加するAFAIKは、VSの3つのバージョンすべてで同じように動作します。あなたが行うことができることの1つは、VS2010とVS2012はVS2008がMSIの展開を持つ一方で、VS2010とVS2012はそれぞれのVSに対して異なるプロジェクトを持ち、それらの間のリンクとしてファイルを共有することで、2010-12の展開/デバッグが容易になります。 (.vsixのおかげで)、各プロジェクトは異なる.netバージョンをターゲットにできます(2008-3.5、2010-4.0、2012-4.5)。 –

+0

ええ、私はさまざまな導入技術について知っていました。私はMSIに精通しています。そのようなプロジェクトの設定に関しては、ビルドの人は幸せではないが、私は他のプロジェクトでやったことを見た。また、私たちは共有ファイルをリンクとして扱い、elsehwereを実行し、VS/TFSを混乱させます。私は実際のアドインコードを持つ共通のプロジェクトへの参照を含む各VSバージョン(すべて同じsln)のプロジェクトを持っていることを望むでしょう。しかし、何がうまくいくのですか? – JohnL

関連する問題