Vb.net Assert()不是';t投掷

Vb.net Assert()不是';t投掷,vb.net,ide,assert,Vb.net,Ide,Assert,我有以下代码: 正如您从quickview工具提示中看到的,nNewCell.Style什么都不是。 尽管如此,台词 Debug.Assert(nNewCell.Style IsNot Nothing) Debug.Assert(nNewCell.Style.GUID <> "") Debug.Assert(nNewCell.Style不是空的) Debug.Assert(nNewCell.Style.GUID“”) 不要扔 IDE不会引发异常或停止,IDE只会忽略这些行 我的

我有以下代码:

正如您从quickview工具提示中看到的,nNewCell.Style什么都不是。 尽管如此,台词

Debug.Assert(nNewCell.Style IsNot Nothing)
Debug.Assert(nNewCell.Style.GUID <> "")
Debug.Assert(nNewCell.Style不是空的)
Debug.Assert(nNewCell.Style.GUID“”)
不要扔

IDE不会引发异常或停止,IDE只会忽略这些行

我的项目设置是调试x86


什么可能导致此问题?

项目属性➤ 编撰➤ 高级编译选项

您将看到
定义调试常量的复选框。必须检查
Debug
功能是否正常工作。如果不是,它们将被忽略,并且不会编译到程序集中

这显然似乎您缺少了
DEBUG
常量,因为您的代码应该抛出一个NullReferenceException,原因是行
DEBUG.Assert(nNewCell.Style.GUID“”)
和显示它是
Nothing
的屏幕截图



一个简短的提示。这个问题很容易引起,我在追踪与此相关的问题之前已经浪费了相当多的时间。创建新配置时,始终复制适当的类型(调试或发布)。这类问题通常是由于复制发行版或非调试配置,然后试图将其视为调试引起的。

谢谢。似乎我的设置在更新VS时丢失了。