繁体   English   中英

MEF指定的参数超出有效值范围。 参数名称:site

[英]MEF Specified argument was out of the range of valid values. Parameter name: site

我有一个托管的带有MEF系统的MVC 4应用程序。 每次系统尝试创建由MEF注入的控制器时,都会发生此错误:

构图产生单个构图错误。 根本原因在下面提供。 查看CompositionException.Errors属性以获取更多详细信息。

1)指定的参数超出有效值范围。 参数名称:site

结果是:尝试创建类型为'EAccountingControllers.EAccountingController'的实例时发生异常。

结果:无法激活零件'EAccountingControllers.EAccountingController'。 元素:EAccountingControllers.EAccountingController-> EAccountingControllers.EAccountingController-> AssemblyCatalog(Assembly =“ EAccounting,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null”)

结果:无法从“ EAccountingControllers.EAccountingController”部分导出导出“ EAccountingControllers.EAccountingController(ContractName =“ EAccounting”)”。 元素:EAccountingControllers.EAccountingController(ContractName =“ EAccounting”)-> EAccountingControllers.EAccountingController-> AssemblyCatalog(Assembly =“ EAccounting,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null”)

如果我托管在本地IIS上很好,但是当托管在外部托管提供程序上时会产生错误。

是什么导致此错误?

尝试检查EAccountingController的构造函数中发生了什么。 我在Windows服务/控制台应用程序中遇到了相同的问题,结果发现我正在加载的MEF部分的构造函数中有未处理的异常(由于开发环境和生产环境之间的环境差异)。

错误消息的关键部分是:

An exception occurred while trying to create an instance of type '[somenamespace.sometypename]'.

在您的情况下,它是EAccountingControllers.EAccountingController

这与其说是MEF的错误,因为它试图创建的实例发生未处理的异常EAccountingController (即可能是在构造函数)。

问题可能是什么的答案在EAccountingController以及在创建实例时它会做什么。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM