我在尝试从Enterprise Library 5.0运行DAAB时遇到了一些问题。我按照教程按照步骤操作,但是收到错误...
1)下载/安装企业库
2)添加对我需要的块的引用(common / data)
3)进口
Imports Microsoft.Practices.EnterpriseLibrary.Common
Imports Microsoft.Practices.EnterpriseLibrary.Data
4)通过企业库配置软件。我从我的网站打开web.config。然后我单击块,然后单击添加数据设置...填写我的详细信息并保存/关闭
5)然后我(思考设置完成)尝试通过
获取数据库的实例 Dim db As Database = DatabaseFactory.CreateDatabase()
6)我编译并收到以下错误:
无法加载文件或程序集“Microsoft.Practices.EnterpriseLibrary.Data,Version = 5.0.414.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35”或其中一个依赖项。定位的程序集的清单定义与程序集引用不匹配。 (HRESULT异常:0x80131040)(C:\ site \ web.config第4行)
我的web.config第4行是由配置工具生成的,并且是:
<section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="true" />
我错过了必要的步骤吗?我是否按错误的顺序完成了这些步骤?我犯了错误吗?
非常感谢您的帮助。
答案 0 :(得分:20)
答案:
我偶然从src代码文件夹中引用了程序集。这意味着公共令牌将具有= null。我重新引用了C:\ Program Files \ Microsoft Enterprise Library 5.0 \ Bin中的程序集,问题现在已经解决了。
答案 1 :(得分:4)
我已经看到你得到了答案;但是,我想指出当你从VS打开配置工具时,你可以选择告诉配置工具你想要引用的程序集:
启动配置工具时;它将根据您的选择引用配置文件中的程序集。
答案 2 :(得分:3)
除了@Nicolas回答的问题,你可以通过删除app.config中的公共令牌来解决这个问题,其中它与Enterprise Library 5.0 dll一起使用
答案 3 :(得分:2)
企业库有2个下载...
只有第二个具有签名的二进制文件...这是解决“清单定义与程序集引用不匹配”错误所必需的错误
(仅供参考,如果您选择安装,第二个还包括源代码)
答案 4 :(得分:1)
您可能需要做的是将项目属性中的Target框架从“.NET Framework 4 Client Profile”更改为“.NET Framework 4”。
首次创建控制台项目时,默认情况下,VS 2010会创建“.NET Framework 4 Client Profile”。 EL 5使用“.NET Framework 4”编译,您的项目很难解决EL dll(s)。
答案 5 :(得分:1)
产生
<section name="loggingConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.LoggingSettings, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
<section name="exceptionHandling" type="Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.Configuration.ExceptionHandlingSettings, Microsoft.Practices.EnterpriseLibrary.ExceptionHandling, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
<section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />