asp.net – 在WebForms中调试时关闭捆绑/缩小

我希望能够在生产环境中缩小/捆绑我的 javascript文件,同时在本地调试时让它们不受限制/非捆绑;但是,VS2012中的默认WebForms站点似乎不允许它. 重现我的问题的步骤: 创建一个新的“ASP.NET Web窗体应用程序”(在我的例子中为c#) 无需调试即可启动并在浏览器

我希望能够在生产环境中缩小/捆绑我的
javascript文件,同时在本地调试时让它们不受限制/非捆绑;但是,VS2012中的默认WebForms站点似乎不允许它.

重现我的问题的步骤:

>创建一个新的“ASP.NET Web窗体应用程序”(在我的例子中为c#)
>无需调试即可启动并在浏览器中查看资源
>注意未经明确的jquery / modernizr文件,但捆绑/缩小了MsAjaxJS和WebFormsJs

web.config,默认情况下有:

<compilation debug="true" targetFramework="4.5">

我甚至尝试通过明确告诉BundleTable不要优化来修改Global.asax:

void Application_Start(object sender,EventArgs e)
{
    // Code that runs on application startup
    BundleTable.EnableOptimizations = false;
    BundleConfig.RegisterBundles(BundleTable.Bundles);
    AuthConfig.RegisterOpenAuth();
    RouteConfig.RegisterRoutes(RouteTable.Routes);
}

然而,我仍然得到不可判断的javascript文件:

This site(我意识到是针对MVC)告诉我web.config中的debug =“true”或者BundleTable.EnableOptimizations = false;在Global.asax应该关闭功能.而this site(用于WebForms并且从第一个链接起来)并未提及将其关闭以进行调试.

我怎么能(干净地)告诉我的项目只在debug =“false”时缩小/捆绑?

(我正在使用ASP.NET 4.5)

编辑:
This question和this question类似,但它们都只提供使用Scripts.Render()的解决方案.有没有办法用模板化的ScriptManager方法完成这个?

解决方法

将以下代码添加到Application_Start方法中的Global.asax.cs文件中.这对我来说非常适合.

#if DEBUG
       foreach (var bundle in BundleTable.Bundles)
       {
           bundle.Transforms.Clear();
       }
#endif

作者: dawei

【声明】:永州站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

为您推荐

联系我们

联系我们

0577-28828765

在线咨询: QQ交谈

邮箱: xwei067@foxmail.com

工作时间:周一至周五,9:00-17:30,节假日休息

返回顶部