Dotspatial学习之旅-1问题锦集——MEF

https://docs.microsoft.com/zh-cn/dotnet/framework/mef/index

今天遇到一个问题shell

System.ComponentModel.Composition Warning: 1 : ComposablePartDefinition“DotSpatial.Controls.DefaultRequiredImports.DockManager”已被拒绝。撰写保持不变。因为如下错误,更改被拒绝: 撰写生成了一个撰写错误,其根本缘由有 1 点,如如下所列。 有关详细信息,请查看 CompositionException.Errors 属性。

1) 未找到与约束 
	ContractName	Shell
	RequiredTypeIdentity	System.Windows.Forms.ContainerControl 匹配的导出

结果: 没法对部件“DotSpatial.Controls.DefaultRequiredImports.DockManager”设置导入“DotSpatial.Controls.DefaultRequiredImports.DockManager.Shell (ContractName="Shell")”。
元素: DotSpatial.Controls.DefaultRequiredImports.DockManager.Shell (ContractName="Shell") -->  DotSpatial.Controls.DefaultRequiredImports.DockManager -->  AssemblyCatalog (Assembly="DotSpatial.Controls, Version=2.0.0.0, Culture=neutral, PublicKeyToken=4d9e49339a7d240c")

System.ComponentModel.Composition Warning: 1 : ComposablePartDefinition“DotSpatial.Controls.DefaultRequiredImports.HeaderControl”已被拒绝。撰写保持不变。因为如下错误,更改被拒绝: 撰写生成了一个撰写错误,其根本缘由有 1 点,如如下所列。 有关详细信息,请查看 CompositionException.Errors 属性。

根据调整发现原来涉及到MEF(Managed Extensibility Framework ),而后就把问题记下来。bash

主要是本身的代码写错了,下图中的shell是区分小写的,必须用Shell,修改一下就正常了ui

相关文章
相关标签/搜索