gpt4 book ai didi

c# - 在构建输出中打印一条消息(这不是警告)

转载 作者:IT王子 更新时间:2023-10-29 04:44:28 29 4
gpt4 key购买 nike

在构建时,我希望能够在构建输出窗口中打印一条消息,而不会将其归类为警告。 IE。在 Visual Studio 错误列表中,我希望它仅在您打开“消息”过滤器时显示。

所以,我想要相同的功能#warning 警告信息但我不希望它被归类为警告。

上下文:

我有很多项目目前会生成很多警告。我首先要做的是防止引入 警告。所以,我已经:

  1. 开启“错误警告”
  2. 完成并使用 #pragma warning disable/restore 消除现有警告。

然而,对于我禁用的警告,我想打印出一条消息,表明这里有一个警告需要调查(因为我还没有调查需要为这些警告做什么)。例如,许多警告是“过时”类型的警告,我们确实需要在某些时候去做一些工作。所以,我不希望这些警告消失。

理想情况下,我会做这样的事情:

#pragma warning disable 0618
#message Existing Warning: 0618: IObsoleteInterface is obsolete.
class MyClass : IObsoleteInterface
#pragma warning restore 0618

我愿意接受其他处理问题的方法。

最佳答案

根据 MSDN,您不能扩展 #pragma: http://msdn.microsoft.com/en-us/library/x74w198a.aspx

但是如果 ErrorList 不是严格要求,您可以解决这个问题:您可以使用注释来突出显示对您重要的事情。如果您在评论的开头添加特殊标记,您将能够在任务列表窗口中跟踪它。
因此,您的代码将如下所示:

#pragma warning disable 0618
//TODO: Existing Warning: 0618: IObsoleteInterface is obsolete.
class MyClass : IObsoleteInterface
#pragma warning restore 0618

然后,如果您打开“查看”->“任务列表”->在下拉列表中选择“评论”,您会在那里看到您的评论。
有 3 个预定义标记:TODO、HACK 和 UNDONE - 您可以添加自己的标记,例如 MESSAGE 并更改它的优先级,使您的代码看起来与您最初期望的类似:

#pragma warning disable 0618
//MESSAGE: Existing Warning: 0618: IObsoleteInterface is obsolete.
class MyClass : IObsoleteInterface
#pragma warning restore 0618

您可以在此处找到有关代币的更多信息:http://msdn.microsoft.com/en-us/library/zce12xx2(v=vs.100).aspx

值得一提的是,如果您使用 Resharper,它还有另一个用于 TODO 的工具。我会在这里找到它:ReSharper -> 工具 -> 待办事项

关于c# - 在构建输出中打印一条消息(这不是警告),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13886546/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com