AZFW0109: Genererat projekt bör inte byggas

Objekt Value
Regel-ID AZFW0109
Kategori Sdk
Severity Varning

Orsak

Målet Build körs mot det genererade projektet azure_functions.g.csproj. Detta projekt är inte avsett att byggas direkt, utan används endast för att återställa och lösa tilläggspayloaden.

Regelbeskrivning

Det genererade projektet är inte avsett att byggas direkt, utan används endast för att återställa och lösa ut tilläggslasten. Byggandet kommer att leda till en varning.

Så här åtgärdar du

Diagnostisera vad som orsakar att det genererade projektet (azure_functions.g.csproj) byggs direkt. En vanlig orsak är en traversalfil eller dirs.proj-fil som använder globbing för att hitta projekt, vilket oavsiktligt inkluderar det genererade projektet. MSBuilds binärlogg kan vara hjälpsam för att identifiera varför/hur azure_functions.g.csproj den byggs.

Exkludera från en ProjectReference glob

Om ditt traverseringsprojekt använder ett glob-mönster för att inkludera projekt, lägg till en Exclude för att hoppa över den genererade filen:

<ItemGroup>
  <ProjectReference Include="**/*.csproj" Exclude="**/azure_functions.g.csproj" />
</ItemGroup>

Ta bort en specifik ProjectReference

Om det genererade projektet lades till som en explicit referens, ta bort ProjectReference ingången som pekar på det:

  <ItemGroup>
-   <ProjectReference Include="path/to/azure_functions.g.csproj" />
  </ItemGroup>

Ta bort matchande ProjectReference objekt villkorligt

Om du inte enkelt kan ändra globen eller den explicita inkluderan, kan du ta bort matchande objekt efter att de har lösts:

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

När man ska undertrycka varningar

Suppression rekommenderas inte. Det rekommenderas att identifiera vad som orsakar att detta projekt byggs och förhindra det.