对于极端的新手问题感到抱歉,但我在其他地方找不到答案,实际上我自己也没有做过这样的事情(去图 - 我猜这种情况发生在贵公司使用生产环境进行测试时)。
如果Visual Studio提供了一些机制来指定某些代码段(例如,日志记录)应该只包含在Debug构建中,那将是很好的。这存在吗?我对C#和VB.NET以及VS 2005中的方法感兴趣,以防万一。
答案 0 :(得分:7)
有几种方法。
要将代码的特定部分标记为仅包含在Debug版本中,可以在C#中执行此操作:
#if DEBUG
code that will only compile for Debug
#endif
如果您想避免这种情况,可以使用属性标记方法:
[Conditional("DEBUG")]
public void Log(String message) { ... }
在这种情况下,如果您没有编译Debug,则会自动从已编译的代码中删除对此方法的调用。这有一些限制。例如,如果您使用ref
或out
参数或返回值,则无法使用此参数。
您可以在此处详细了解#if指令:C# Preprocessor Directives,以及此处的属性:ConditionalAttribute。
答案 1 :(得分:1)
我们在AssemblyInfo.cs中这样做:
#if DEBUG [assembly: AssemblyConfiguration("Debug")] #else [assembly: AssemblyConfiguration("Release")] #endif
这适用于C#。