如何引用System.Web.Optimization程序集的1.1.0.0版

时间:2013-09-24 08:40:56

标签: c# .net asp.net-mvc system.web.optimization

我目前正尝试通过nugget在我的MVC 4应用程序中使用名为the Jquery-File-Upload by BlueImp的文件上传。此文件上载取决于System.Web.Optimization命名空间。

我的应用程序不断抛出此错误:

  

错误9程序集'Backload,Version = 1.9.3.0,Culture = neutral,   PublicKeyToken = 02eaf42ab375d363'使用'System.Web.Optimization,   Version = 1.1.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'   其版本高于引用的程序集   'System.Web.Optimization,Version = 1.0.0.0,Culture = neutral,   公钥= 31bf3856ad364e35'

我尝试调整web.config

<dependentAssembly>
    <assemblyIdentity name="System.Web.Optimization" publicKeyToken="31bf3856ad364e35" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-1.1.0.0" newVersion="1.1.0.0" />
</dependentAssembly>

我仍然收到相同的消息。

我用google搜索并找到了要求通过nugget安装Microsoft.AspNet.Web.Optimization的链接,我做了但没有解决问题。

请问如何添加System.Web.Optimization.dll版本1.1.0.0。

2 个答案:

答案 0 :(得分:7)

这是因为Backload内部引用了Microsoft.AspNet.Web.Optimization版本1.1.0。在新的MVC项目中,您通常会引用较旧的1.0.0版本。您只需要更新到新的:

右键单击项目中的引用,选择Manage NuGet packages,然后在即将出现的对话框中选择左窗格中的Updates。然后,在中间窗格中,查找“Microsoft ASP.NET Web Optimization Framework”1.1.0版

的NuGet: http://www.nuget.org/packages/Microsoft.AspNet.Web.Optimization/

这里描述: http://docs.nuget.org/docs/start-here/managing-nuget-packages-using-the-dialog

答案 1 :(得分:3)

这就是我解决这个问题的方法。首先,我按照他的回答关注@helgans评论,并且仍然在参考文件夹中获得对system.web.optimization版本1.0.0的引用。我还从我的网站的bin文件夹中删除了dll,并从另一个项目中删除了引用版本1.1.0,但同样的问题仍然存在。

在解决问题时,我发现旧版本是从我的应用程序中的库文件夹中复制的(我不知道如何)。这使得引用的版本保持版本1.0.0,即使我从另一个项目引用版本1.1.0或再次重新安装NuGet包。

为了解决这个问题,我做了以下几点:

  1. 我从Library文件夹中删除了dll。
  2. 删除了旧版本的引用(感谢@helgans)
  3. 从bin文件夹中删除了dll
  4. 取消套餐:Uninstall-Package Microsoft.AspNet.Web.Optimization -Force
  5. 重新安装软件包
  6. NuGet现在添加对1.1.0版本的引用