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

相關文章
相關標籤/搜索