无法加载文件或程序集'Microsoft.Practices.EnterpriseLibrary.Data,Version = 5.0.414.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'

时间:2014-01-20 14:13:17

标签: asp.net-mvc-3 exception enterprise-library

我已将我的项目与另一个项目集成(MVC3应用程序)。然后我得到以下错误。 这两个项目都可以正常使用 Microsoft Enterprise Library版本5.2.414.0 。在集成之后,只有一些页面正在工作,剩下的页面会抛出异常。

  

无法加载文件或程序集   'Microsoft.Practices.EnterpriseLibrary.Data,Version = 5.0.414.0,   Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其中一个   依赖。系统找不到指定的文件。

3 个答案:

答案 0 :(得分:2)

如果引用没有将“CopyLocal”标志设置为true,则通常会发生这种情况。

要解决:

  1. 打开解决方案
  2. 展开,直到找到您的项目
  3. 展开参考
  4. 选择提到的程序集
  5. 右键单击并按属性(或按F4)
  6. 其中显示“复制本地”将其设置为true
  7. 此外,如果您缺少所提到的程序集所需的其他企业库块(并且还复制本地true),则会发生这种情况,这些块是:

    • Microsoft.Practices.EnterpriseLibrary.Common.dll
    • Microsoft.Practices.ServiceLocation.dll
    • Microsoft.Practices.Unity.Configuration.dll
    • Microsoft.Practices.Unity
    • Microsoft.Practices.Unity.Interception.Configuration
    • Microsoft.Practices.Unity.Interception

答案 1 :(得分:1)

检查导入Enterprise Library 5 DLL的项目是否依赖于.NET Framework 4.我正在努力解决相同的错误,但使用的是EL 6.因为我的整个项目依赖于.NET 4而且使用了开发EL 6。 NET 4.5,我的应用程序在每次启动时崩溃。

EL 5使用.NET Framework 4并且与3.5兼容(EL 5安装程序会告诉您此信息)。 EL 6使用.NET Framework 4.5或4.5.1(不确定,但降级到EL 5使我的项目工作)。

答案 2 :(得分:1)

只需从bin文件夹中删除所有相关的DLL( Microsoft.Practices。*。dll )文件,然后重建解决方案。