加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-15 20:53:25 所属栏目:asp.Net 来源:网络整理
导读:我希望能够在生产环境中缩小/捆绑我的 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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读