我正在使用MinifyJS.tt这是一个T4模板,可以自动缩小我的所有JS文件。 在我的aspx文件中,我引用了所有的javascript文件。
现在,我想添加一个条件(可能是编译器指令)来在我调试应用程序时使用原始JS文件,并在我只是在没有调试的情况下运行应用程序时使用缩小的JS文件。 我尝试在aspx页面中使用#if,但这似乎不起作用。
我们可以在aspx页面中使用预处理程序指令吗? 有没有其他方法可以实现我的目标?
答案 0 :(得分:2)
您可以使用以下内容:
if (!HttpContext.Current.IsDebuggingEnabled)
Script = OptimizeScript(Script);
此外.....还有一些评论,而不是进一步讨论这个话题。
来自Wilco Bauwer他评论说这个属性封装了web.config设置,并没有将页面级调试考虑在内,如果你想要....
bool isDebuggingEnabled = Assembly.GetExecutingAssembly().IsDefined(typeof(DebuggableAttribute));
....这是实现它的小伙子!!
和Peter Bromberg(C#MVP)使用Global.asax.cs文件和Application_Start事件中设置的静态全局应用程序标志提供了另一种解决方案。
public static bool IsDebugMode = false;
protected void Application_Start(object sender, EventArgs e)
{
if (System.Diagnostics.Debugger.IsAttached) IsDebugMode = true;