1

Visual Studio 2010 SDK には、単なるスタブである Microsoft.VisualStudio.Text.Data や Microsoft.VisualStudio.Text.UI などの多くのアセンブリが付属しています。Visual Studio の拡張機能を作成するには、これらのアセンブリを参照しますが、参照の "Copy Local" プロパティと "Exact Version" プロパティを false に設定します。拡張機能が Visual Studio に読み込まれると、参照は Visual Studio の以前に読み込まれたこれらのアセンブリの内部実装にバインドされます。

他の MEF パッケージで可能な Visual Studio サービスとして機能する新しい MEF エクスポート コンポーネントを提供したいと考えています[Import]。サービスを使用するには、他のコンポーネントが私のパッケージを参照する必要がありますが、それを参照する他のパッケージを壊すことなくサービスの内部実装を変更できるように、スタブを参照することを好みます。スタブを参照すると、実行時に提供された実装とシームレスに連携するように、公開されている API コンポーネントを含む「スタブ」アセンブリを任意のアセンブリから提供するにはどうすればよいですか?

4

1 に答える 1

1

2つのアセンブリを作成することで、この問題を解決しました。

  • MyCompany.VisualStudio.Feature:最も一般的な実装を簡素化するためのインターフェイスおよび場合によっては抽象クラス。ここにはありません[Export]
  • MyCompany.VisualStudio.Feature.Implementation:機能に関連するサービスを実装します。ここに[Export]sが表示されます。

私の機能を使用している人は前者を参照し、ローカルバージョンと正確なバージョンをfalseに設定します。

于 2009-12-02T18:06:11.643 に答える