我先出口一台ITAgger和一台IWpfTextViewMargin,这两个部件都是作为微型信贷的组成部分。 我想在我的马林法典中进口这颗卫星,然后在塔戈使用一些成员。
现在,我试图在马林阶层使用部件,然后进口IViewTaggerProvider。 我使用了以下法典,这可见于许多教育、青年和体育部的辅导。
[Import(typeof(IViewTaggerProvider))]
public IViewTaggerProvider vt_provider { get; set; }
var catalog = new AggregateCatalog();
catalog.Catalogs.Add(new AssemblyCatalog(typeof(TestMargin).Assembly));
_container = new CompositionContainer(catalog);
//Fill the imports of this object
try
{
this._container.ComposeParts(this);
}
catch (CompositionException compositionException)
{
System.Diagnostics.Trace.WriteLine(compositionException.Message);
}
以及出口法。
[Export(typeof(IViewTaggerProvider))]
[ContentType...
出口类别的定义是另一个名称空间,但相同。
在这里,我提出这样的问题,即竞争各方放弃进口货物。 我不知道该参数为何是。 我试图通过catalog<>。 我也提到了debug meffall,认为出口类别具有正确的合同名称和出口类型特性。
在检查了视像仪EFx和脱胎盘后,我发现,这可能是因为IViewTaggerProvider进口了视觉演播室。 IlassificationTypeRegistryservice, 后者也是MEF的一部分,导致IViewTaproggerer被拒。
[Primary Rejection]
[Exception] System.ComponentModel.Composition.ImportCardinalityMismatchException: No valid exports were found that match the constraint ((exportDefinition.ContractName == "Microsoft.VisualStudio.Text.Classification.IClassificationTypeRegistryService") AndAlso (exportDefinition.Metadata.ContainsKey("ExportTypeIdentity") AndAlso "Microsoft.VisualStudio.Text.Classification.IClassificationTypeRegistryService".Equals(exportDefinition.Metadata.get_Item("ExportTypeIdentity")))) , invalid exports may have been rejected.
因此,一个解决办法是增加出口IClassificationTypeRegistry Service的大会。 它是一个视觉演播室核心编辑服务,但我无法发现哪些组装出口。 任何人都知道这一点?
或者说有什么更好的解决办法?