2017-10-19 10 views
1

Je le code suivant:Debug.Assert() n'est pas jeté

enter image description here

Comme vous pouvez le voir dans l'info-bulle de QuickView, nNewCell.Style est rien. Malgré cela, les lignes

Debug.Assert(nNewCell.Style IsNot Nothing) 
Debug.Assert(nNewCell.Style.GUID <> "") 

ne sont pas jetés.

L'EDI ne déclenche pas d'exception ou s'arrête là, l'EDI ignore simplement ces lignes.

Mes paramètres de projet sont Debug x86.

Qu'est-ce qui pourrait causer ce problème?

Répondre

1

Propriétés du projet ➤ ➤ Compile Options avancées de compilation

Vous verrez une case à cocher pour Define DEBUG constant. Cela doit être vérifié pour Debug fonctions à travailler. Si ce n'est pas le cas, ils seront ignorés et ne seront pas compilés dans votre assemblée.

Cela semble certainement comme vous manque le car votre code constant DEBUG devrait être de lancer une NullReferenceException en raison de la ligne Debug.Assert(nNewCell.Style.GUID <> "") et votre capture d'écran montrant qu'il était Nothing.


Une note rapide. Ce problème est très simple à causer et j'ai perdu un temps décent avant de repérer les problèmes liés à cela. Lorsque vous créez une nouvelle configuration, copiez toujours le type approprié (Debug ou Release). Les problèmes de ce type sont généralement causés par la copie d'une configuration Release ou non-debug, mais en essayant de les traiter comme Debug.

+0

Merci. Il semble que mes paramètres ont été perdus lors de la mise à jour de VS. – tmighty