gpt4 book ai didi

c# - 无法加载文件或程序集 'WebGrease' 它的依赖项之一。找到的程序集的 list 定义与程序集引用不匹配

转载 作者:IT王子 更新时间:2023-10-29 04:52:10 31 4
gpt4 key购买 nike

这个问题有很多解决方案,请阅读下面的所有答案,它们也可能会帮助您解决问题。如果您找到解决此问题的新方法,请在您的答案中记录

我正在尝试将 System.Web.Optimization 添加到我的 ASP.NET Web 窗体解决方案中。我通过 NuGet 包添加了 Microsoft ASP.NET Web 优化框架。它在引用中添加了 Microsoft.Web.Infrastracture 和 WebGrease (1.5.2)。

但是,当我运行

<%= System.Web.Optimization.Scripts.Render("~/bundles/js")%>

运行时出错

Could not load file or assembly 'WebGrease, Version=1.5.1.25624, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

我已经尝试将 assemblyBinding 添加到 Web.Config

<runtime>
<legacyUnhandledExceptionPolicy enabled="1"/>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-1.5.1.25624" newVersion="1.5.2.14234"/>
</dependentAssembly>
</assemblyBinding>
</runtime>

但没有任何运气。

我注意到我网站的 Web 配置包含这一行

 <configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">

如果我把它换成

 <configuration>

然后一切正常,我没有收到运行时错误。不幸的是,我需要 xmlns。我的项目的其他组件依赖于它。

当架构指向 v2.0 时,为什么优化会尝试加载旧版本?有没有办法强制它加载最新的或唯一可用的 WebGrease.dll?

在不改变的情况下我还能尝试什么

 <configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0"> ?

感谢您提供的任何帮助!

编辑:1)附加FusionLog结果。也许会有帮助

=== Pre-bind state information ===
LOG: User = [USER]
LOG: DisplayName = WebGrease, Version=1.5.1.25624, Culture=neutral, PublicKeyToken=31bf3856ad364e35
(Fully-specified)
LOG: Appbase = file:///C:/Projects/PROJECT_NAME/trunk/www.PROJECT_NAME.com/
LOG: Initial PrivatePath = C:\Projects\PROJECT_NAME\trunk\www.PROJECT_NAME.com\bin
Calling assembly : System.Web.Optimization, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35.
===
LOG: This bind starts in default load context.
LOG: Using application configuration file: C:\Projects\PROJECT_NAME\trunk\www.PROJECT_NAME.com\web.config
LOG: Using host configuration file:
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config.
LOG: Post-policy reference: WebGrease, Version=1.5.1.25624, Culture=neutral, PublicKeyToken=31bf3856ad364e35

2) 确认,问题在

<configuration  xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">

但是,我不明白为什么

最佳答案

我在生产服务器上遇到了这个问题,而在开发者机器上一切正常。这些行帮助:

<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.5.2.0" newVersion="1.5.2.14234"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

关于c# - 无法加载文件或程序集 'WebGrease' 它的依赖项之一。找到的程序集的 list 定义与程序集引用不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20908895/

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