我希望能够在生产环境中缩小/捆绑我的javascript文件,同时在本地调试时对其进行无限制/非捆绑;但是,VS2012中的默认WebForms站点似乎不允许它。
重现我的问题的步骤:
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"
或Global.asax中的BundleTable.EnableOptimizations = false;
都应关闭该功能。 this site,( 用于WebForms并且是从第一个链接的),并没有提到将其关闭进行调试。
我怎样(干净地)告诉我的项目只在缩小/捆绑时调试=&#34; false&#34;?
(我使用的是ASP.NET 4.5)
修改
This question和this question相似,但它们都只使用Scripts.Render()
提供解决方案。有没有办法用模板化的ScriptManager方法来实现这个目的?
答案 0 :(得分:6)
将以下代码添加到Application_Start方法中的Global.asax.cs文件中。这对我很有用。
#if DEBUG
foreach (var bundle in BundleTable.Bundles)
{
bundle.Transforms.Clear();
}
#endif
答案 1 :(得分:0)
之前我遇到过类似的问题。我把这段代码解决了我的问题
BundleTable.EnableOptimizations = false;
之后
BundleConfig.RegisterBundles(BundleTable.Bundles);