我目前正尝试通过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。
答案 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包。
为了解决这个问题,我做了以下几点:
Uninstall-Package Microsoft.AspNet.Web.Optimization -Force
NuGet现在添加对1.1.0版本的引用