| 物品 | 价值 |
|---|---|
| 规则 ID | AZFW0109 |
| Category | Sdk |
| Severity | Warning |
原因
Build目标正在生成azure_functions.g.csproj的项目中运行。 该项目并非直接构建,仅用于恢复和解析扩展有效载荷。
规则描述
生成的项目并非直接构建,而是仅用于恢复和解析扩展有效载荷。 建造会收到警告。
如何修复
诊断导致生成的项目(azure_functions.g.csproj)被直接构建的原因。 一个常见原因是某个遍历文件或 dirs.proj 文件使用 glob 模式来发现项目,结果无意中把生成的项目也包含进来了。 MSBuild 二进制日志 有助于识别为什么以及如何 azure_functions.g.csproj 被构建。
从ProjectReference glob 模式中排除
如果遍历项目使用 glob 模式来包含项目,请添加一个 Exclude 以跳过生成的文件:
<ItemGroup>
<ProjectReference Include="**/*.csproj" Exclude="**/azure_functions.g.csproj" />
</ItemGroup>
移除指定的 ProjectReference
如果生成的项目被添加为显式引用,请移除 ProjectReference 指向该项目的条目:
<ItemGroup>
- <ProjectReference Include="path/to/azure_functions.g.csproj" />
</ItemGroup>
有条件地移除匹配 ProjectReference 的物品
如果你无法轻松修改 glob 或显式包含项,可以在匹配项解析出来后将其删除:
<ItemGroup>
<ProjectReference Remove="@(ProjectReference)" Condition="'%(Filename)%(Extension)' == 'azure_functions.g.csproj'" />
</ItemGroup>
何时应压制警告
不建议压制。 建议找出导致该项目建设的原因并加以防范。