我在几个项目中使用工具xsd.exe为我的数据模型生成类。在我的csproj中打开文档文件生成时,编译器开始显示大量类型的警告:CS1591:Missing XML comment for publicly visible type or member,指向生成的构造函数。
由于这是一种有意的行为,我试图找出如何抑制这些警告。但只适用于由xsd.exe生成的类型,这些类型包含在一个源文件中。下一次运行xsd.exe时,文件内容将被替换。在此过程中,对文件的任何修改都将丢失。因此,在这里向文件添加一个#pragma warning disable并不是一个解决方案(我有时甚至使用一个构建目标来重新生成构建上的代码)。
但是.NET似乎有一个内置的机修工:装配级的SuppressMessageAttribute (Microsoft :禁止警告)。
因此,我创建了一个包含以下内容的文件GlobalSuppressions.cs:
[assembly: SuppressMessage("Compiler",
"CS1591:MissingXmlCommentForPubliclyVisibleTypeOrMember",
Justification = "Generated code",
Scope = "member",
Target = "M:Company.IO.Component.Concrete.Configuration.ConfigItem.#ctor")]但是这种压制却被忽视了。
有什么想法吗?
发布于 2022-11-29 17:21:40
我找到了一个解决方案,而不必操作生成的源文件。
短
可以将.editorconfig放在生成的源文件的目录中。文件中包含的规则仅应用于此目录和子目录。
Long
.editorconfig添加到该目录.editorconfig中配置消息严重性在我的例子中,如下所示
目录结构
\Configuration
\Schema
\.editorconfig # applied to code files in this directory only
\schema.xsd # template for xsd.exe
\schema.cs # generated by xsd.exe
Project.csproj
Code.cs.editorconfig含量
# message severity for generated code files
[*.cs]
dotnet_diagnostic.CS1591.severity = none如果我直接将代码生成到obj/文件夹,并将其命名为schema.g.cs,情况可能会更好。但我希望将生成的文件保存在存储库中。这可能稍后会改变。
https://stackoverflow.com/questions/74615149
复制相似问题