我写了一个DLL库MyLIB.dll(版本1.0.0)依赖于第三方DLL库其他LIB.dll(版本1.0.0)。图书馆其他LIB.dll在 NuGet 上可用,我将其添加到MyLIB.dll通过 NuGet 包管理器进行项目。
现在假设我正在编写一个新应用程序我的AspNetMvcApp我要添加MyLIB.dll(版本1.0.0) 通过 NuGet 获取它。它会自动添加其他LIB.dll(版本1.0.0)因为这取决于它。一切都工作正常,但是......
一个月后,新版本发布了其他LIB.dll- 版本1.0.1。我正在通过 NuGet 更新它。
现在,我的 ASP.NET MVC 应用程序停止工作,因为抛出了异常MyLIB.dll。它期望其他LIB.dll在版本中1.0.0但已经有较新的版本正在使用。
In MyLIB.dll项目参考我可以看到“特定版本”标志其他LIB.dll被设置为“False”,所以我不知道这里发生了什么......
除了在 web.config 文件中提供程序集绑定之外,是否有可能以其他方式解决此问题?我怎样才能添加参考其他LIB.dll for MyLIB.dll这样我更新的时候就不会出现异常了其他LIB.dll到更新的版本?
我昨天在使用 Oracle.DataAccess.dll 的 Visual Studio Web 开发人员中遇到了这个问题。
我的解决方案,
右键单击您的项目解决方案 (*.csproj) 并对其进行编辑。
就在下面:
<PropertyGroup>
Place
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
然后重建您的解决方案。包含两个版本的 dll 时,必须将它们分开到项目中的两个不同目录中(必需)。
I did
ora11 >> Oracle.DataAccess.dll(版本 11)
ora9 >> Oracle.DataAccess.dll(版本 9)
这样做可以让您的 IDE 使用两个版本的 DLL。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)