介绍
今天我更新了我的 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 中添加绑定重定向可以轻松绕过这个问题(因为我更新了 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 包?还是他们在代码中加载程序集?
任何关于它如何工作的解释都非常感谢。谢谢你。