无法加载文件或程序集'WebGrease,Version = 1.5.1.25624

Red*_*678 5 c# asp.net .net-4.0 asp.net-4.0 visual-studio-2013

我已经通过NuGet安装了Microsoft ASP.NET Web Optimization Framework 1.1.3.它安装得很好,我相信.这是一个.NET 4.0 Web窗体项目.

当我尝试捆绑时,我得到一个错误.我在Application_Start中的代码:

var jqueryBundle = new ScriptBundle("~/scripts/bundles/jquery");

    jqueryBundle.Include(new string[] { 
        "~/scripts/libs/jquery/jq/jquery-1.11.0.min.js",
        "~/scripts/swyft/mobileinit.min.js",
        "~/scripts/libs/jquery/jqm/142/lib/jquery.mobile-1.4.2.min.js",
    });

    BundleTable.Bundles.Add(jqueryBundle);
Run Code Online (Sandbox Code Playgroud)

然后在我的一个aspx页面上......

<%= System.Web.Optimization.Scripts.Render("~/scripts/bundles/jquery") %>
Run Code Online (Sandbox Code Playgroud)

给我这个错误:

发生意外的错误.无法加载文件或程序集'WebGrease,Version = 1.5.1.25624,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其依赖项之一.定位的程序集的清单定义与程序集引用不匹配.(HRESULT异常:0x80131040)

但它就在那里!我正在运行VS2013.

谢谢你的帮助!

〜红

编辑 - 我的WebConfig:

<runtime>
<assemblyBinding appliesTo="v2.0.50727" xmlns="urn:schemas-microsoft-com:asm.v1">
  ...
  <dependentAssembly>
    <assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-1.5.2.14234" newVersion="1.5.2.14234" />
  </dependentAssembly>
  ...
</assemblyBinding>
Run Code Online (Sandbox Code Playgroud)

编辑 - 无法安装Web Grease 1.5.1:

当我尝试安装Web Grease 1.5.1时出现此错误:

You cannot call a method on a null-valued expression.
At L:\MY_PROJECT_PATH\packages\WebGrease.1.5.1\tools\install.ps1:45 char:5
+     $msbuild.Xml.AddProperty("WebGreaseLibPath", $relativePackageUri.ToString(). ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : InvalidOperation: (:) [], RuntimeException
+ FullyQualifiedErrorId : InvokeMethodOnNull
Run Code Online (Sandbox Code Playgroud)

**编辑 - 添加package.config文件**

<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="AjaxControlToolkit" version="7.1213" targetFramework="net40" />
<package id="AjaxMin" version="5.10.5260.16959" targetFramework="net40" />
<package id="Antlr" version="3.4.1.9004" targetFramework="net40" />
<package id="HtmlAgilityPack" version="1.4.6" targetFramework="net40" />
<package id="Microsoft.AspNet.ScriptManager.WebForms" version="5.0.0" targetFramework="net40" />
<package id="Microsoft.AspNet.Web.Optimization" version="1.1.3" targetFramework="net40" />
<package id="Microsoft.Data.Edm" version="5.6.1" targetFramework="net40" />
<package id="Microsoft.Data.Services.Client" version="5.6.1" targetFramework="net40" />
<package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net40" />
<package id="Microsoft.WindowsAzure.ConfigurationManager" version="2.0.3" targetFramework="net40" />
<package id="Newtonsoft.Json" version="6.0.3" targetFramework="net40" />
<package id="System.Spatial" version="5.6.1" targetFramework="net40" />
<package id="WebGrease" version="1.6.0" targetFramework="net40" />
<package id="WindowsAzure.Storage" version="4.0.1" targetFramework="net40" />
</packages>
Run Code Online (Sandbox Code Playgroud)

编辑 - 添加错误的SS

错误截图

Dav*_*ave 8

由于最新版本显然存在依赖性问题,我不情愿地在NuGet软件包管理器控制台中使用这些命令回到旧版本的Optimization和Webgrease:

Uninstall-Package Microsoft.AspNet.Web.Optimization
Uninstall-Package WebGrease
Install-Package Microsoft.AspNet.Web.Optimization -Version 1.1.0
Install-Package WebGrease -version 1.3
Run Code Online (Sandbox Code Playgroud)

这种组合对我有用,但可能还有其他组合.


Phi*_*tle 0

Microsoft.AspNet.Web.Optimization 不适用于 Web Grease 1.5.1,因此安装该版本不会有帮助。尝试使用 Nuget 控制台卸载这两个包(使用包管理器控制台查找并安装 NuGet 包)[ http://docs.nuget.org/docs/start-here/using-the-package-manager-console]

然后手动安装Web Grease 1.6。然后安装Microsoft.AspNet.Web.Optimization 1.1.3