gpt4 book ai didi

msbuild - 基于元数据在构建目标输入项上设置 MSBuild 属性

转载 作者:行者123 更新时间:2023-12-02 03:06:48 25 4
gpt4 key购买 nike

我在我的一个项目中使用代码生成工具(在本例中为 Entity Framework),它生成的代码会导致编译器发出警告。我想忽略一组特定文件的警告。我的第一个想法是我可以设置一个 ItemGroup 来为编译器设置每个文件的属性,在语义上是这样的:

<ItemGroup>
<Files Include="Migrations/**/*.cs">
<Properties>
<DisabledWarnings>CS12345;CS4321</DisabledWarnings>
</Properties>
</Files>
</ItemGroup>

我知道这不是有效的 MSBuild 语法,但它表达了我想做的事情的本质。

这个问题似乎有些相关:Using Item functions on metadata values

有办法吗?

最佳答案

您不能使用 MSBuild 禁用每个文件的编译器警告。相反,您需要在代码中使用 #pragma 语句。

例如,假设您想要禁用有关使用过时 API 的警告(生成警告 CS0618)。您可以像这样包围代码以抑制警告。

#pragma warning disable CS0618

public void Method()
{
new Class1().CallSomeObsoleteMessage();
}

#pragma warning restore CS0618

或者,您可以禁用整个项目的警告。

<PropertyGroup>
<NoWarn>$(NoWarn);CS0618</NoWarn>
</PropertyGroup>

关于msbuild - 基于元数据在构建目标输入项上设置 MSBuild 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42184903/

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