【发布时间】:2012-06-20 20:01:44
【问题描述】:
我正在使用最新的 MVC4-RC (.net 4.0) 和 Microsoft ASP.NET Web 优化框架http://nuget.org/packages/Microsoft.AspNet.Web.Optimization/1.0.0-beta3,我收到了这个错误。
找不到方法:'Void System.Web.Optimization.Bundle..ctor(System.String, System.Web.Optimization.IBundleTransform[])'。
说明:在执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
异常详细信息:System.MissingMethodException:找不到方法:'Void System.Web.Optimization.Bundle..ctor(System.String, System.Web.Optimization.IBundleTransform[])'。
[MissingMethodException:找不到方法:'Void System.Web.Optimization.Bundle..ctor(System.String, System.Web.Optimization.IBundleTransform[])'。] C:...\App_Start\BundleConfig.cs:53 中的 App.MVC.BundleConfig.RegisterBundles(BundleCollection bundles) App.MVC.MvcApplication.Application_Start() 在 C:...\Global.asax.cs:47
[HttpException (0x80004005): 找不到方法:'Void System.Web.Optimization.Bundle..ctor(System.String, System.Web.Optimization.IBundleTransform[])'。] System.Web.HttpApplicationFactory.EnsureAppStartCalledForIntegratedMode(HttpContext 上下文,HttpApplication 应用程序)+4057141 System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext,HttpContext 上下文,MethodInfo[] 处理程序)+191 System.Web.HttpApplication.InitSpecial(HttpApplicationState 状态,MethodInfo[] 处理程序,IntPtr appContext,HttpContext 上下文)+352 System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context) +407 System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext) +375
[HttpException (0x80004005): 找不到方法:'Void System.Web.Optimization.Bundle..ctor(System.String, System.Web.Optimization.IBundleTransform[])'。] System.Web.HttpRuntime.FirstRequestInit(HttpContext 上下文) +11700896 System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext 上下文)+141 System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +4869125
这是我正在使用的代码:
在 global.asax.cs 中
protected void Application_Start()
{
...
BundleConfig.RegisterBundles(BundleTable.Bundles);
...
然后在 App_Start/BundleConfig.cs 中
using System.Web.Optimization;
namespace App.MVC.App_Start
{
public class BundleConfig
{
public static void RegisterBundles(BundleCollection bundles)
{
bundles.Add(new Bundle("~/scripts/packed.js", new JsMinify()).Include(
// jquery
"~/Scripts/jquery-1.7.1.js",
"~/Scripts/jquery-ui-1.8.17.js",
"~/Scripts/jquery.validate.js",
"~/Scripts/jquery.validate.unobtrusive.js",
"~/Scripts/jquery.unobtrusive-ajax.js"));
bundles.Add(new Bundle("~/content/css/packed.css", new CssMinify()).Include(
// reset
"~/Content/css/cssreset-min.css",
"~/Content/css/cssfonts-min.css",
// themes
"~/Content/themes/base/jquery-ui-1.8.16.custom.css",
// site
"~/Content/css/Site.css"));
}
}
}
我也在这个项目中使用 Azure,有趣的是,当我第一次启动 Azure 时,我得到了这个错误。然后当我重建 MVC 项目并刷新页面时,它就可以工作了。
我将如何解决这个问题?
【问题讨论】:
-
您能发布导致此错误的代码吗?
-
@RickAndMSFT 我更新了问题
-
你为什么使用 new JsMinify()) 和 new CssMinify()) ?只需按照 RC 生成的 App_Start\BundleConfig.cs 代码中的模式和我的教程 asp.net/mvc/tutorials/mvc-4/bundling-and-minification
标签: asp.net-mvc asp.net-mvc-4 asp.net-optimization