如何在VB.NET中使用#IF DEBUG

Gre*_*egH 23 .net vb.net

是否可以从#IF DEBUG条件内部为类变量赋值?

如果我在DEBUG模式下运行,我想从我的主窗体加载中有条件地执行一些代码.我以为我可以这样做:

Public Class Form1
    public DEB as Integer

    #if DEBUG then
        DEB = 1
    #else
        DEB = 0
    #end if

    Private Sub Form1_Load(....)
        if DEB=1 Then
            <do something>
        else
            <do something else>
        end if
    ....
Run Code Online (Sandbox Code Playgroud)

但是,您似乎无法为变量赋值.我显然不能正确理解范围.我似乎无法将#if DEBUGLoad子程序置于内部.我该怎么做呢?

Chr*_*ter 35

为什么不直接测试编译常量?通过测试实际变量,你没有获得任何东西.

Public Class Form1

Private Sub Form1_Load(....)

#if DEBUG then
    <do something>
#else 
    <do something else>
#end if

End Sub

End Class
Run Code Online (Sandbox Code Playgroud)

  • 想出来......即使项目被定义为在DEBUG中构建,解决方案也被定义为"Release"构建. (5认同)
  • 另一件需要检查的事情是项目属性 -&gt; 编译 -&gt; 高级编译选项 -&gt; “定义调试常量”,必须在发布配置中取消选中它。 (2认同)