gpt4 book ai didi

asp.net - 为什么在 ASP.NET 中需要绑定(bind)重定向?

转载 作者:行者123 更新时间:2023-12-01 03:50:31 25 4
gpt4 key购买 nike

介绍

今天我更新了我的 ASP.NET MVC 应用程序,我遇到了以下错误(德语 - 抱歉):

Die Datei oder Assembly "WebGrease, Version=1.5.1.25624, Culture=neutral, PublicKeyToken=31bf3856ad364e35" oder eine Abhängigkeit davon wurde nicht gefunden. Die gefundene Manifestdefinition der Assembly stimmt nicht mit dem Assemblyverweis überein. (Ausnahme von HRESULT: 0x80131040)



(它说找不到程序集“WebGrease,版本 1.5.1.25624”)

程序集 System.Web.Optimization,Version=1.1.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35 尝试加载 WebGrease 程序集并失败。

解决方案

我知道可以通过像这样在 web.config 中添加绑定(bind)重定向来轻松绕过这个问题(因为我更新了 WebGrease):
  <dependentAssembly>
<assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="0.0.0.0-1.5.2.14234" newVersion="1.6.5135.21930" />
</dependentAssembly>

进一步的问题

很高兴知道为什么需要这样做以及如何创建 *.Optimization 程序集。 System.Web.Optimization 1.1.3 程序集依赖于 WebGrease 1.5.2,并且“只需采用其他版本的 WebGrease”-重定向可能会导致方法调用,这些方法调用在新版本中不再存在,不是吗?

*.Optimization 的开发人员是否在他们的项目中包含了对 WebGrease 1.5.2 的引用,在构建后删除了 WebGrease 程序集并创建了 NuGet 包?还是他们在代码中加载程序集?

任何关于它如何工作的解释都非常感谢。谢谢你。

最佳答案

Taken from MSDN doc在这个问题上:

You can manually edit the app configuration file to resolve assembly issues. For example, if a vendor might release a newer version of an assembly that your app uses without supplying a publisher policy, because they do not guarantee backward compatibility, you can direct your app to use the newer version of the assembly by putting assembly binding information in your app's configuration file.



很久以前我也遇到过同样的问题......无论如何,我相信这是 NuGet 包的问题,​​根据这个 work item在 CodePlex。

关于asp.net - 为什么在 ASP.NET 中需要绑定(bind)重定向?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23313847/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com