5

我在这里忙于将我的 CSS 和脚本捆绑到我的 Web 窗体应用程序中。

首先,我想指出我正在关注本教程:http: //blogs.msdn.com/b/rickandy/archive/2012/08/14/adding-bundling-and-minification-to-网络表单.aspx

我已经在 App_Start 中的类 BundleConfig 看起来像这样:

using System.Web;
using System.Web.Optimization;

namespace SitePessoal.Web
{
    public class BundleConfig
    {
        public static void RegisterBundles(BundleCollection bundles)
        {
            bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
                        "~/Scripts/jquery/core/jquery-{version}.js"));

            bundles.Add(new ScriptBundle("~/bundles/jqueryui").Include(
                        "~/Scripts/jquery/core/jquery-ui-{version}.js"));

            bundles.Add(new StyleBundle("~/CSS/css").Include(
                        "~/CSS/Estilos.css", 
                        "~/CSS/Print.css", 
                        "~/CSS/Styles.css"));
        }
    }
}

另外,我已经用 Nugget 下载了优化包,所以之后我去了我的 Global.asax 文件并尝试在 Application_Start 方法中注册它,如下所示:

void Application_Start(object sender, EventArgs e) 
{
    // Code that runs on application startup  
    BundleConfig.RegisterBundles(BundleTable.Bundles);
    BundleTable.EnableOptimizations = true;
}

不幸的是,这是行不通的地方。不幸的是,它一直用红色强调课程并给我以下信息:

Error   3   The name 'BundleTable' does not exist in the current context
Error   4   The name 'BundleTable' does not exist in the current context
Error   2   The name 'BundleConfig' does not exist in the current context 

关于为什么会发生这种情况的任何想法?提前致谢!

最好的问候,
疯狂

4

2 回答 2

5

我按照相同的教程解决了@MadGatsu 遇到的问题。

@Pricey 是正确的,并且 %MadGatsu 正确添加了对Global.asax的引用,包括,

<%@ Import Namespace="System.Web.Optimization" %>
<script RunAt="server">        
    void Application_Start(object sender, EventArgs e)
    {
          BundleConfig.RegisterBundles(BundleTable.Bundles);

但还有一点。

基于缺少Global.asax.cs,我推断我们有Websites。在这种情况下,我们需要将Bundleconfig.cs文件放在特殊的 aspnet 文件夹App_Code中。不要添加App_Start文件夹来包含该文件,因为它不起作用。只需将我的BundleConfig.csApp_Start移动到App_Code即可纠正当前上下文中不存在“BundleConfig”错误。

于 2013-10-31T00:06:30.073 回答
3

您可能已经解决了这个问题,但以防万一它对任何人都有用..您可能需要添加一个引用System.Web.Optimization和您的BundleConfig类命名空间SitePessoal.Web到您的Global.asax.cs

例子:

using System.Web.Optimization;
using SitePessoal.Web;

namespace SitePessoal.Web.Application
{
    public class Global : HttpApplication
    {
        private void Application_Start(object sender, EventArgs e)
        {
              BundleConfig.RegisterBundles(BundleTable.Bundles);
              BundleTable.EnableOptimizations = true;
        }
    }
}

如果您还没有这样做,您可能还需要将System.Web.Optimization命名空间添加到您的页面中,因为仅通过添加对包web.config的引用是不够的。Microsoft.AspNet.Web.OptimizationNuGet

<pages>
    <namespaces>
        <add namespace="System.Web.Optimization"/>
    </namespaces>
</pages>
于 2013-06-30T18:28:57.500 回答