AZFW0109: Gegenereerde projecten mogen niet worden gebouwd

Artikel Value
Regel-ID AZFW0109
Categorie Sdk
Severity Warning

Oorzaak

Het Build doel wordt uitgevoerd op het gegenereerde azure_functions.g.csproj project. Dit project is niet bedoeld om direct gebouwd te worden, maar wordt alleen gebruikt om de extensiepayload te herstellen en op te lossen.

Regelbeschrijving

Het gegenereerde project is niet bedoeld om direct gebouwd te worden, maar wordt alleen gebruikt om de extensiepayload te herstellen en op te lossen. Bouwen zal een waarschuwing opleveren.

Problemen oplossen

Diagnoseer wat ervoor zorgt dat het gegenereerde project (azure_functions.g.csproj) direct wordt gebouwd. Een veelvoorkomende oorzaak is een traversal- of dirs.proj-bestand dat globbing gebruikt om projecten te vinden, waardoor onbedoeld het gegenereerde project wordt meegenomen. Het binaire log van MSBuild kan helpen te achterhalen waarom/hoe azure_functions.g.csproj wordt gebouwd.

Uitsluiten van een ProjectReference glob-patroon

Als je doorloopproject een globpatroon gebruikt om projecten op te nemen, voeg dan een Exclude toe om het gegenereerde bestand over te slaan:

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

Verwijder een specifieke ProjectReference

Als het gegenereerde project als expliciete referentie is toegevoegd, verwijder dan de ProjectReference invoer die ernaar verwijst:

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

Verwijder overeenkomende ProjectReference items voorwaardelijk

Als je de glob of de expliciete include niet gemakkelijk kunt wijzigen, kun je overeenkomende items verwijderen nadat ze zijn opgelost:

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

Wanneer waarschuwingen te onderdrukken

Onderdrukking wordt niet aanbevolen. Het wordt aanbevolen om te identificeren wat de oorzaak is van het bouwproces van dit project en dit te voorkomen.