5

我目前正在尝试通过 Nugget在我的 MVC 4 应用程序中使用BlueImp 的名为 Jquery-File-Upload 的文件上传。此文件上传取决于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,版本 = 1.0.0.0,文化 = 中性,PublicKeyToken = 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>

我仍然不断收到相同的信息。

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

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

4

2 回答 2

7

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

右键单击项目中的引用,选择管理 NuGet 包,然后在即将出现的对话框中选择左侧窗格中的更新。然后,在中间窗格中,查找“Microsoft ASP.NET Web 优化框架”版本 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

于 2013-09-24T12:24:47.783 回答
3

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

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

为了解决这个问题,我做了以下事情:

  1. 我从库文件夹中删除了 dll。
  2. 删除了旧版本的引用(感谢@helgans)
  3. 从 bin 文件夹中删除 dll
  4. 卸载软件包:Uninstall-Package Microsoft.AspNet.Web.Optimization -Force
  5. 重新安装包

NuGet 现在添加了对版本 1.1.0 的引用

于 2013-09-27T04:45:24.080 回答