有没有简单的方法来告诉代码中当前设置的编译标记的调试属性?
为什么我要这样做?所以我可以从javascript / css的缩小/非缩小版本之间切换。以下是我尝试过的(不起作用):
public function GetLink(byval url As String) As String
Static isDebugEnabled As Nullable(Of Boolean)
If isDebugEnabled Is Nothing Then
isDebugEnabled = New System.Web.Configuration.CompilationSection().Debug
End If
If isDebugEnabled.Value OrElse Regex.IsMatch(url,"\.min\.",RegexOptions.IgnoreCase) Then
return url
Else
Dim cssOrJsFileName = Regex.Match(url,"/[a-z]+\.(css|js)",RegexOptions.IgnoreCase).
ToString().
Replace("/",String.Empty).
Replace(".js",String.Empty).
Replace(".css",String.Empty)
return url.Replace(cssOrJsFileName,cssOrJsFileName + ".min")
End If
End Function
<link href="<%: getlink("/includes/styles/csssharedbundle.css") %>" rel="stylesheet" />
<link href="<%: getlink("/includes/styles/csssite.css") %>" rel="stylesheet" />
无论如何,上面的代码总是返回缩小的文件。
答案 0 :(得分:1)
不。或者至少,这不是最好的方法。
使用preprocessor directives来完成此任务。
#if DEBUG
//return non-minified
#else
//return minified
#endif
我相信它们可用并且具有与月球语言相同的语法。请查阅链接以确定。