Shi*_*nga 5 .net c# asp.net-mvc system.web.optimization
我目前正试图通过nugget在我的MVC 4应用程序中使用一个名为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,Version = 1.0.0.0,Culture = neutral,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>
Run Code Online (Sandbox Code Playgroud)
我仍然得到同样的信息.
我google了,发现链接要求Microsoft.AspNet.Web.Optimization通过nugget 安装,我做了,但没有解决问题.
请问如何添加System.Web.Optimization.dll的1.1.0.0版.
这是因为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
这就是我解决这个问题的方法。首先,我按照 @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 -ForceNuGet 现在添加了对版本 1.1.0 的引用