Jid*_*jan 69 .net c# dll asp.net-mvc-4 webgrease
我有一个MVC4 Web api项目.在运行服务项目时,我收到一个错误
无法加载文件或程序集'WebGrease,Version = 1.5.1.25624,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其依赖项之一.该系统找不到指定的文件.
我添加了WebGrease.dll文件,但仍然出现错误
并尝试更改web.config
<bindingRedirect oldVersion="0.0.0.0-1.3.0.0"/>"
Run Code Online (Sandbox Code Playgroud)
和
<bindingRedirect oldVersion="0.0.0.0-1.5.2.14234" newVersion="1.5.2.14234" />
Run Code Online (Sandbox Code Playgroud)
请告知我缺少的东西.
c0y*_*teX 82
我知道这对OP来说有点迟了但我在尝试使用Bootstrap 3 for MVC 4 NuGet包时遇到了同样的问题,在我的情况下它与Microsoft.AspNet.Web.Optimization包有关,并设法找一个简单的解决方案
尝试在包管理器控制台中执行以下命令:
Install-Package Microsoft.AspNet.Web.Optimization
Update-Package WebGrease
Uninstall-Package Microsoft.AspNet.Web.Optimization
Uninstall-Package WebGrease
Install-Package Microsoft.AspNet.Web.Optimization
Update-Package WebGrease
Run Code Online (Sandbox Code Playgroud)
前两行对我没有任何影响,因为这些软件包已经由Bootstrap 3 for MVC 4软件包安装和更新,但是无论如何我都运行它们然后编译并运行得很好.
And*_*ena 58
这个错误是因为Microsoft.AspNet.Web.Optimization 1.1.3内部引用,WebGrease 1.5.1.25624即使Nuget包本身具有依赖性WebGrease 1.5.2.14234.在创建Nuget包时,有人显然搞砸了.
要解决此问题,请将此装配绑定添加到您的Web.Config.
<dependentAssembly>
<assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.5.1.25624" newVersion="1.5.2.14234" />
</dependentAssembly>
Run Code Online (Sandbox Code Playgroud)
Fer*_*ali 47
你试过NuGet吗?
Install-Package WebGrease -Version 1.5.1
Run Code Online (Sandbox Code Playgroud)
要么
Install-Package WebGrease -Version 1.5.2
Run Code Online (Sandbox Code Playgroud)
Par*_*ani 14
对我来说,上述情况均无效.
经过两天的努力,终于找到了解决方案.
我做的是,我卸载了Microsoft.AspNet.Web.Optimization和WebGrease.
我知道这个优化组件内部是指WebGrease 1.5.1.所以我选择了一个不参考WebGrease 1.5.1的优化版本.
我运行以下命令以使一切正常.
Uninstall-Package Microsoft.AspNet.Web.Optimization
Uninstall-Package WebGrease
Install-Package Microsoft.AspNet.Web.Optimization -Version 1.1.0
Run Code Online (Sandbox Code Playgroud)
我希望我能够为那些以上解决方案无效的人提供良好的帮助.
干杯!
我观察到的问题与Jidheesh Rajan提到的问题非常吻合.但是,从Nuget包管理器更新包(未指定版本)无法解决问题.以下是我必须采取的措施来解决这个问题.(基本上,我明确地将WebGrease更新为1.6版)
在Visual Studio的包管理器控制台中,显式将WebGrease更新为1.6版.这是命令.
Install-Package WebGrease -Version 1.6
Run Code Online (Sandbox Code Playgroud)
输出应该是
Removing 'WebGrease 1.5.2' from {project name}
Run Code Online (Sandbox Code Playgroud)
将'WebGrease 1.6.0'添加到{project name}成功将'WebGrease 1.6.0'添加到{project name}卸载'WebGrease 1.5.2'.成功卸载'WebGrease 1.5.2'.
最终用web更新了web.config
assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" culture="neutral" /
bindingRedirect oldVersion="0.0.0.0-1.6.5135.21930" newVersion="1.6.5135.21930"
Run Code Online (Sandbox Code Playgroud)
这也导致从csproj文件中删除一行.
<WebGreaseLibPath>..\packages\WebGrease.1.5.2\lib</WebGreaseLibPath>
Run Code Online (Sandbox Code Playgroud)
以及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>
Run Code Online (Sandbox Code Playgroud)
对此
<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>
Run Code Online (Sandbox Code Playgroud)
请记住,我在本地计算机上没有问题,只是在舞台Web服务器上.我想在不更新软件包的情况下尽力解决问题,但这是我唯一的修复方法.
试了很多东西,但这对我有用,有时webgrease汇编问题有时Web.Optimization汇编问题.这适用于Microsoft.AspNet.Web.Optimization 1.1.3
Update-Package WebGrease -Version 1.6
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
72985 次 |
| 最近记录: |