我观察到的问题与Jidheesh Rajan所提到的非常相似。但是,通过Nuget包管理器更新软件包(未指定版本)并不能解决这个问题。下面是我解决这个问题所采取的步骤。(基本上,我明确地将WebGrease更新到了1.6版本)
从Visual Studio的包管理器控制台中,明确将WebGrease更新到1.6版本。 这是相应的命令。
Install-Package WebGrease -Version 1.6
输出应该是:
Removing 'WebGrease 1.5.2' from {project name}
将'WebGrease 1.6.0'添加到{项目名称}
成功将'WebGrease 1.6.0'添加到{项目名称}
正在卸载'WebGrease 1.5.2'。
已成功卸载'WebGrease 1.5.2'。
这最终更新了web.config
assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" culture="neutral" /
bindingRedirect oldVersion="0.0.0.0-1.6.5135.21930" newVersion="1.6.5135.21930"
这还导致了从 csproj 文件中删除了一行。
<WebGreaseLibPath>..\packages\WebGrease.1.5.2\lib</WebGreaseLibPath>
在csproj文件中,需要更新此节点。
<Reference Include="WebGrease, Version=1.5.2.14234, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\WebGrease.1.5.2\lib\WebGrease.dll</HintPath>
<SpecificVersion>False</SpecificVersion>
<Private>True</Private>
</Reference>
转化为:
<Reference Include="WebGrease, Version=1.6.5135.21930, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\WebGrease.1.6.0\lib\WebGrease.dll</HintPath>
<SpecificVersion>False</SpecificVersion>
<Private>True</Private>
</Reference>
请记住,我在本地机器上没有任何问题,只是在一个阶段的Web服务器上出现了问题。我想尽力解决问题,而不更新包,但这是我唯一的解决方法。
Microsoft.AspNet.Web.Optimization.WebForms
,您应该在提到Microsoft.AspNet.Web.Optimization
的行之前/之后添加它。 - Uwe Keim