企业库在Web应用程序中强制转换异常

时间:2012-01-15 22:24:43

标签: c# enterprise-library enterprise-library-5 enterprise-library-4.1

我有一个使用Enterprise Library 4.1的Web应用程序。一位同事将Web应用程序使用的身份验证模块升级到Enterprise Library 5.0。不幸的是,身份验证模块的升级版本包含了我需要的新功能,因此我必须在项目中包含已升级的模块。我现在得到以下例外:

 [A]Microsoft.Practices.EnterpriseLibrary.Common.Configuration.ConfigurationSourceSection
 cannot be cast to [B]Microsoft.Practices.EnterpriseLibrary.Common.Configuration.ConfigurationSourceSection.
 Type A originates from 'Microsoft.Practices.EnterpriseLibrary.Common, Version=4.1.0.0, Culture=neutral,
 PublicKeyToken=31bf3856ad364e35' in the context 'Default' at location
 'C:\Windows\assembly\GAC_MSIL\Microsoft.Practices.EnterpriseLibrary.Common\4.1.0.0__31bf3856ad364e35\Microsoft.Practices.EnterpriseLibrary.Common.dll'.
 Type B originates from 'Microsoft.Practices.EnterpriseLibrary.Common, Version=5.0.414.0, Culture=neutral,
 PublicKeyToken=31bf3856ad364e35' in the context 'Default' at location
 'C:\Windows\assembly\GAC_MSIL\Microsoft.Practices.EnterpriseLibrary.Common\5.0.414.0__31bf3856ad364e35\Microsoft.Practices.EnterpriseLibrary.Common.dll'.

有没有办法在我的应用程序中使用升级的身份验证模块而无需升级到EL 5.0?

1 个答案:

答案 0 :(得分:1)

我认为您不能同时在应用程序中使用两个版本的Enterprise Library,至少在使用配置文件时是这样。您遇到的问题是由于5.0版本试图从应用程序的配置文件中读取4.1版配置部分。