Visual Studioの拡張機能で、MEFコンポーネントをエクスポートして後で検索しようとしています。 OleMenuCommandからのコールバックで解決するVS拡張子の[Export]を持つMEFコンポーネント - 制約に一致するエクスポートが見つかりません
[Export(typeof(IBoilerplateSettings))]
public class BoilerplateSettings : IBoilerplateSettings
{
...
そして、このコード:
が、私はこのクラスを持っています。 this pull requestの例があります。
var componentModel = (IComponentModel)this.package.GetService(typeof(SComponentModel));
var settings = componentModel.DefaultExportProvider.GetExportedValue<IBoilerplateSettings>();
しかし、それは毎回このエラーがスローされます。
No exports were found that match the constraint:
ContractName UnitTestBoilerplate.IBoilerplateSettings
RequiredTypeIdentity UnitTestBoilerplate.IBoilerplateSettings
はどちらも同じアセンブリです。私はSystem.Composition
とSystem.ComponentModel.Composition
の両方で[Export]
属性を試しましたが、いずれも動作しません。
私はthe docs for MEF in VSを見ていますが、属性を追加するとちょうどうまくいくはずです。私はまた、ComponentModelキャッシュをクリアしようとしましたが、うまくいきませんでした。私はここで何が欠けていますか?
私は ' 'の下にあるが、それは助けに見えなかった。 .errファイルは0バイトです。 –
RandomEngy
さらに、複数のプロジェクトが同じ.vsixに置かれている場合、そこに適切なプロジェクトがリストされていますか?そうでなければ、それは正しいようです... –
.vsixには1つのプロジェクトしかありません。 – RandomEngy