以编程方式检查当前程序集是在Debug或Release模式下编译的最简单方法是什么?
有没有办法找出是否已在未修改程序集的情况下使用TRACE或DEBUG标志集编译程序集?
所以我使用mvc app大约有10个短css文件.有像error.css login.css等...只是一些非常短的CSS文件,使更新和编辑变得容易(至少对我来说).我想要的是优化if else分支并且不将其合并到最终位中的东西.我想做这样的事情
if(Debug.Mode){
<link rel="stylesheet" type="text/css" href="error.css" />
<link rel="stylesheet" type="text/css" href="login.css" />
<link rel="stylesheet" type="text/css" href="menu.css" />
<link rel="stylesheet" type="text/css" href="page.css" />
} else {
<link rel="stylesheet" type="text/css" href="site.css" />
}
Run Code Online (Sandbox Code Playgroud)
我将有一个msbuild任务,将结合所有的CSS文件,最小化它们和所有好东西.我只需要知道是否有一种方法可以删除最后一位中的if else分支.
我有一个可以在某些项目中引用的组件(例如Component.dll).当然,我在发布模式下发布它.
在另一个项目中(例如Project.exe)我引用Component.dll.
如果我Project.exe在Debug模式下构建,有没有办法在我的Component.dll库中找到它?
澄清更多:如果我有一个类和一个Test在其中命名的方法Component.dll.我可以这样做:
public void Test(){
if(Debug.IsInDebugMode)
...
}
Run Code Online (Sandbox Code Playgroud)
请记住,它Component.dll是在发布模式下构建的.
我一直认为Debug版本比Release版本慢,因为编译器需要另外生成调试器信息.我最近惊讶地听到我的一位同事说发布版本通常需要更多时间.(我相信这只是因为增量链接/编译).
一般来说,哪两个更快?
.net ×4
debugging ×4
release ×4
build ×2
assemblies ×1
c# ×1
dll ×1
performance ×1
release-mode ×1
trace ×1