use*_*322 6 c# preprocessor-directive visual-studio-2017 visual-studio-2019
我已经写了#if DEBUG,#else,#endif的代码片段中,我注意到的Visual Studio不会让我用自动完成履行部分类型的成员名称,它不检查灰色激活代码错误.我发现再次关注的唯一方法是将构建模式从Debug切换到Release.但这很不方便,感觉有更好的方法.
例:
#if DEBUG
throw;
#else
throw new exc // I want to use autocomplete here but can't because it's greyed out
#endif
Run Code Online (Sandbox Code Playgroud)
如何让VS停止忽略其他配置范围内的其他代码#if DEBUG?
它是条件编译的目的,它按预期工作.使用条件编译应用程序可以在编译时忽略某些代码.您在Visual Studio中的应用程序正在调试模式下运行,因此编译器忽略了#else部分内部的代码.
在发布模式下运行您的应用程序,然后#else代码将可用但 #if DEBUG不可用.
更新
要检查两者#if DEBUG,#else您需要运行两次应用程序.
1.一旦在调试模式下,代码#if DEBUG如下:
此处应用程序处于调试模式,因此#if DEBUG条件代码处于活动状
#else条件中的代码.其他部分也可以使用自动完成和调试.有关详细信息,请参阅microsoft docs:
| 归档时间: |
|
| 查看次数: |
969 次 |
| 最近记录: |