33

我使用 c# 创建了第一个项目。我有很多警告错误,所有这些警告错误都是单个错误(内部编译器错误。有关更多信息,请参阅控制台日志。)

为了减少警告错误,我使用了 #pragma Warning disable 。#pragma 警告恢复有问题代码的前后。

我怀疑在我的最终构建中,我是否应该将#pragma 警告禁用并恢复原样保留在程序中;还是我需要删除它?例如:

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

对于最终构建,我是否需要删除它?

4

3 回答 3

59

至少你应该具体说明你故意选择忽略哪些警告。这样,如果以后的维护引入了您应该注意的“新”警告/问题,则有关新引入的错误的警告不会被您的一揽子编译指示警告禁用指令抑制。

您可以从 Visual Studio 的生成输出窗口中获取与您决定忽略的生成问题有关的警告编号。它们通常标有“警告 CS0168 ....”或类似标签。在这种情况下,您可以专门针对您决定忽略的那些错误,如下所示:

#pragma warning disable 168, 3021

    //Your code that generates warnings CS0168 and CS3021 here

#pragma warning restore 168, 3021
于 2013-03-30T20:03:47.070 回答
8

如果它是具有任何实用价值的代码,则不应有任何警告,并在打开所有警告的情况下使用“警告为错误”设置进行编译。

您显示的代码本身似乎没有任何错误。所以我看不出你需要编译指示的理由。

但这真的是你的电话 - 你的代码,如果没有人需要使用/查看/付费 - 做任何适合你的事情。

于 2013-03-30T05:12:20.397 回答
-1

我在我的 asp.net mvc (.net core) 应用程序中遇到了这个错误。基于以上内容和其他文章显示此错误来自您在 chtml 端的 c 尖锐代码。

要确定问题,只需打开控制台或在单独的窗口中打开 cshtml。

我有一个出现此错误的弹出窗口,我单独打开此弹出窗口,在控制台中投资错误时,我得到了一个分号,而不是在 cshtml 中,因此在渲染 chtml 时它会抛出错误。

于 2018-04-24T04:50:43.273 回答