【问题标题】:Error in MVC4-RC (.net 4.0) with Microsoft ASP.NET Web Optimization Framework带有 Microsoft ASP.NET Web 优化框架的 MVC4-RC (.net 4.0) 中的错误
【发布时间】: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


【解决方案1】:

当我引用了错误的包时,我收到了同样的错误 通过

  Install-Package Microsoft.Web.Optimization -Version 1.0.0-beta -Pre

通过引用正确的更新包解决

Install-Package Microsoft.Web.Optimization -Pre 

【讨论】:

  • 我不确定这是否是正确的包?我添加的代码有效吗?
  • 它可以很好地构建和编译。你确实使用了第二个包?安装它时遇到什么错误?
  • PM> 安装包 Microsoft.Web.Optimization -Pre 尝试解决依赖项“Microsoft.AspNet.Web.Optimization (≥ 1.0.0-beta2)”。正在尝试解决依赖项“Microsoft.Web.Infrastructure (≥ 1.0.0)”。正在尝试解决依赖项“WebGrease (≥ 1.0.0)”。 'Microsoft.Web.Optimization 1.0.0-beta2' 已安装。成功将“Microsoft.AspNet.Web.Optimization 1.0.0-beta3”添加到 App.MVC。这只是添加了我拥有的相同包..
  • 看看你是否可以声明一个ScriptBundle,如果你不能,我会说这在某种程度上仍然是一个参考问题,因为beta2和更高版本应该有你需要的构造函数,但beta1没有已经定义了 ScriptBundle。
  • ScriptBundle 在其构造函数中自动应用它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-18
  • 1970-01-01
  • 1970-01-01
  • 2011-09-25
  • 1970-01-01
  • 2015-04-10
相关资源
最近更新 更多