.net # pragma warning禁用和恢复

unguejic  于 2023-01-27  发布在  .NET
关注(0)|答案(4)|浏览(177)

我用C#创建了第一个项目。我有许多警告错误,所有这些警告错误是单一的错误(内部编译器错误。请参阅控制台日志了解更多信息。)
为了减少警告错误,我使用了#pragma Warning disable。#pragma warning恢复有问题代码的前后部分。
我怀疑在我最后构建版本中是否应该保留程序中的#pragma warning disable&restore;还是我需要删除它?例如:

#pragma warning disable
if (Displayer.instance != null && CTR.Tore== "Keepit")
{
    Displayer.instance.SetFielderProfile (i);
}
#pragma warning restore

对于最终版本,我是否需要删除它?

fnvucqvd

fnvucqvd1#

至少你应该明确指出你有意忽略了哪些警告,这样,如果以后的维护引入了一个你应该注意的“新”警告/问题,那么这个新引入的错误的警告就不会被你的blanket pragma warning disable指令所抑制。
您可以从Visual Studio中的生成输出窗口获取与您决定忽略的生成问题相关的警告编号。它们通常标记为“Warning CS 0168...”或类似标记。在这种情况下,您可以专门针对您决定忽略的那些错误,如下所示:

#pragma warning disable 168, 3021

    //Your code that generates warnings CS0168 and CS3021 here

#pragma warning restore 168, 3021
pcrecxhr

pcrecxhr2#

如果它是具有任何实用价值的代码,则不应有任何警告,并在打开所有警告的情况下使用“警告视为错误”设置进行编译。
您显示的代码本身似乎没有任何错误。所以我看不出您需要杂注的理由。
但这真的是你的决定--你的代码,如果没有人需要使用/查看/支付它--做任何对你有效的事情。

xdyibdwo

xdyibdwo3#

修改@Deleted对MSVC和C的回答。在Visual Studio 2019中测试。参见Deleted对C#的回答。适用于任何在网络搜索后找到这里的人。
禁用C
代码中的警告:

#pragma warning(push)
#pragma warning(disable : 4267 4293)

    // Your code that generates warnings C4267 and C4293 here

#pragma warning(pop)
cs7cruho

cs7cruho4#

我得到了这个错误在我的asp.netmvc(.net核心)应用程序。基于此,上面和其他文章显示这个错误来自您的c夏普代码在chtml方面。
要确定问题,只需打开控制台或在单独的窗口中打开cshtml。
我有一个弹出窗口,这个错误来了,我单独打开这个弹出窗口,当投资控制台错误,我得到了一个分号不在cshtml,所以当渲染chtml抛出错误。

相关问题