无法加载类型'System.Web.Optimization.StyleBundle'

11

有时在构建和启动我的MVC4 Web应用程序后,我会遇到这个错误。 它可能会在重新构建之后消失或不会消失。 发布到Windows Azure后也遇到了同样的问题。

有人知道如何修复这个错误吗?

Server Error in '/' Application.

Could not load type 'System.Web.Optimization.StyleBundle' from assembly 'System.Web.Optimization, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.TypeLoadException: Could not load type 'System.Web.Optimization.StyleBundle' from assembly 'System.Web.Optimization, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.

Source Error: 

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace: 
[TypeLoadException: Could not load type 'System.Web.Optimization.StyleBundle' from assembly 'System.Web.Optimization, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.]
   Inventarium.Web.Mobile.App.BundleConfig.RegisterBundles(BundleCollection bundles) in c:\dev\Inventarium\Inventarium.Web\Inventarium.Web.Mobile.App\App_Start\BundleConfig.cs:30
   Inventarium.Web.Mobile.App.MvcApplication.Application_Start() in c:\dev\Inventarium\Inventarium.Web\Inventarium.Web.Mobile.App\Global.asax.cs:18

[HttpException (0x80004005): Could not load type 'System.Web.Optimization.StyleBundle' from assembly 'System.Web.Optimization, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.]
System.Web.HttpApplicationFactory.EnsureAppStartCalledForIntegratedMode(HttpContext context, HttpApplication app) +4058245
System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers) +191
System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context) +352
System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context) +407
System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext) +375

 [HttpException (0x80004005): Could not load type 'System.Web.Optimization.StyleBundle' from assembly 'System.Web.Optimization, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.]
 System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +11703488
 System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +141
 System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +4870277

7
我发现了一个问题。在我的网站中有错误的 System.Web.Optimization.dll 引用,它试图使用旧版本。 删除包并重新添加并不能每次都有帮助。解决方案是:彻底删除所有网站中旧版包、引用和包配置,然后再重新添加它。希望对某些人有所帮助。 - Roman Nikitin
11
请将以下内容作为答案发布,以便此问题不会出现未回答的状态。请标记您自己的答案为正确答案。"请将此作为答案发布,以便此问题不会出现未回答的状态。请标记您自己的答案为正确答案。" - Serguei Fedorov
4
请标记此回答为答案,以便它不会出现在未回答的列表中。 - SoftSan
2
请将此标记为答案,以便它不会显示在未回答的列表中。 - Pseudonym
2个回答

6

根据Roman Nikitin的评论:

我自己发现了问题。我的网站引用了错误的System.Web.Optimization.dll版本。删除包并重新添加并不总是有帮助。

解决方案是:彻底删除所有网站中旧的包、引用和包配置,然后再次添加它。


2
参考文献,需要安装的Nuget包是“Microsoft.AspNet.Web.Optimization”。 - Joe Niland

1
我们在Windows 2019服务器上使用IIS 10.10时,尝试访问一个基于.NET 5的新应用程序作为现有.NET 4.7.x网站的子应用程序时,遇到了相同的问题。在我们的Web服务器上,我们运行使用不同.NET框架的多个Web应用程序。我们可以通过以下步骤解决异常:
1. 在服务器上下载并安装.NET Core Hosting Bundle。 2. 进入IIS。 3. 选择“应用程序池”。 4. 添加一个新的应用程序池,参数如下: - .NET CLR VERSION:无托管代码 - 托管管道:经典 5. 将此新应用程序池分配给您的新.NET 5 Web应用程序(在高级设置下)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接