首页 > 代码库 > Could not load file or assembly 'Microsoft.Practices.EnterpriseLibrary.Common, Version=5.0.414.0, ...

Could not load file or assembly 'Microsoft.Practices.EnterpriseLibrary.Common, Version=5.0.414.0, ...

使用oracle数据库一个多月依赖这问题一直都得不到解决,最近任务不是很忙了,所以决定把这问题解决掉。写一篇文章做记录。

以上错误主要是net程序oracle数据库使用了Microsoft Enterprise Library 5.0

类库访问oracle数据库,其具有优秀的访问不通数据库的能力。使用方法不对也同样出现错误。解决办法是下载http://www.microsoft.com/en-us/download/confirmation.aspx?id=15104最新的类库并安装,安装后到安装目录获取需要的程序集到程序bin目录里面去(如果是类库的话也是放到类库bin目录去,生成解决方案后引用的dll自动会在webbin目录去)如引用下面的

using Microsoft.Practices.EnterpriseLibrary.Data;

Microsoft.Practices.EnterpriseLibrary.Common;

Microsoft.Practices.EnterpriseLibrary.Logging;

...

引用类库后需要在配置文件配置,把下面的配置复制到配置文件上面去就ok了,注意的地方主要是程序集版本和数据库连接字符串,只要配置真确都没问题:

<configuration>

  <configSections>

    <section name="loggingConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.LoggingSettings, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="true"/>

    <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"/>

    <section name="cachingConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Caching.Configuration.CacheManagerSettings, Microsoft.Practices.EnterpriseLibrary.Caching, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="true"/>

  </configSections>

  <dataConfiguration defaultDatabase="ccnf_ora"/>

  <connectionStrings>

    <add name="ccnf_ora" connectionString="Data Source=database;Password=dbpassword;User ID=username;max pool size=10000" providerName="System.Data.OracleClient"/>

  </connectionStrings>

</configuration>

特别注意的是配置文件里面的Version=5.0.414.0,版本需要跟程序引用的版本一样,否则同样报以上的错误。