我在几个项目中使用工具xsd.exe
为我的数据模型生成类。当在csproj中打开文档文件生成时,编译器开始显示许多类型的警告:CS1591:Missing XML comment for publicly visible type or member
指向生成的构造函数。
由于这是一种预期的行为,我试图找出如何抑制这些警告。但仅限于xsd.exe
生成的类型,它们包含在单个源文件中。文件内容将在下次运行时被xsd.exe
替换。对文件的任何修改都将在该过程中丢失。因此,在文件中添加#pragma warning disable
不是一个解决方案(我有时甚至使用构建目标,它在构建时重新生成代码)。
但是.NET似乎有一个内置的机制来处理这种情况:SuppressMessageAttribute
位于组件层级(Microsoft Docs: Suppress warnings)。
因此,我创建了一个包含以下内容的文件GlobalSuppressions.cs
:
[assembly: SuppressMessage("Compiler",
"CS1591:MissingXmlCommentForPubliclyVisibleTypeOrMember",
Justification = "Generated code",
Scope = "member",
Target = "M:Company.IO.Component.Concrete.Configuration.ConfigItem.#ctor")]
但这种压制却被忽视了。
有人有什么想法吗?
1条答案
按热度按时间zc0qhyus1#
我找到了一个解决方案,而不必操作生成的源文件。
短
可以将
.editorconfig
放置在生成的源文件的目录中。文件中包含的规则仅应用于此目录及其后代。长
1.在仅包含生成的源文件的单独目录中输出生成的代码
1.将
.editorconfig
添加到目录中1.根据需要在
.editorconfig
中配置消息严重性在我的例子中,这看起来如下
目录结构
.editorconfig
的含量如果我直接在
obj/
文件夹中生成代码,并将其命名为schema.g.cs
,可能效果会更好。但我希望将生成的文件保存在仓库中。这可能会在以后更改。