C# · 12月 24, 2021

c# – 无法加载文件或程序集“Microsoft.Practices.EnterpriseLibrary.Common”或其依赖项之一

我已经搜索google这个,找不到问题的解决方案.

我的网站引用了引用企业库数据访问组件的DAL(custom dll).

我从NuGet软件包管理器添加了企业库,当我尝试构建网站时,会弹出这个编译错误:

Error 44 Could not load file or assembly ‘Microsoft.Practices.EnterpriseLibrary.Common’ or one of its dependencies. The located assembly’s manifest deFinition does not match the assembly reference

我已经尝试在DAL中为Enterprise Library dll设置Copy Local = True,并将dll与DAL dll一起传输到网站的Bin目录,但是仍然出现错误.

任何人都可以引导我这个….

解决方法 问题是您正在使用的DLL和项目中引用的DLL是不同的.我不知道清单中的区别是什么,但它可以是版本和/或公钥.

你有几件事要尝试:

1)在项目中打开DLL引用的属性,并将Version Specific设置为false.

2)删除引用,从bin文件夹中删除DLL,然后重新添加引用.

3)您的GAC中也可能有不同/不正确的版本.为了确保您始终使用特定的已知版本创建相对于项目目录的程序集文件夹,请将dll复制到该目录,并在程序集目录中添加对DLL的引用,而不是在GAC或其他地方在你的机器上这将确保仅使用您为应用程序定向的特定版本,而不是以后在计算机上更新的任何版本.