AZFW0109:已產生的專案不應建置

Item 價值
規則識別碼 AZFW0109
類別 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 或明確指定的 include,可以在它們解析完成後移除相符項目:

<ItemGroup>
  <ProjectReference Remove="@(ProjectReference)" Condition="'%(Filename)%(Extension)' == 'azure_functions.g.csproj'" />
</ItemGroup>

何時應抑制警告

不建議抑制。 建議找出導致此專案建造的原因並加以防範。