AZFW0109: Generowany projekt nie powinien być budowany

Towar Value
Identyfikator reguły AZFW0109
Kategoria SDK
Severity Warning

Przyczyna

Cel Build jest uruchamiany na wygenerowanym azure_functions.g.csproj projekcie. Ten projekt nie jest przeznaczony do bezpośredniego kompilowania; służy wyłącznie do przywrócenia i rozpoznania zawartości rozszerzenia.

Opis reguły

Wygenerowany projekt nie jest przeznaczony do bezpośredniego kompilowania; zamiast tego służy wyłącznie do przywrócenia i rozwiązania zależności rozszerzenia. Budowanie skutkuje ostrzeżeniem.

Jak rozwiązać problem

Zdiagnozuj, co powoduje bezpośrednią budowę wygenerowanego projektu (azure_functions.g.csproj). Częstą przyczyną jest plik traversal lub dirs.proj plik, który używa wzorców glob do odnajdywania projektów, przez co niezamierzenie uwzględnia wygenerowany projekt. Binarny dziennik MSBuild może pomóc w ustaleniu, dlaczego i jak azure_functions.g.csproj jest kompilowany.

Wyklucz z globu ProjectReference

Jeśli Twój projekt przechodzenia używa wzorca glob do uwzględnienia projektów, dodaj an Exclude , aby pominąć wygenerowany plik:

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

Usuń konkretną ProjectReference

Jeśli wygenerowany projekt został dodany jako jawne odniesienie, usuń ProjectReference wpis wskazujący na niego:

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

Usuń ProjectReference dopasowane elementy warunkowo

Jeśli nie możesz łatwo zmodyfikować globu lub jawnego dodatku, możesz usunąć dopasowane elementy po ich rozwiązaniu:

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

Kiedy tłumić ostrzeżenia

Wyłączanie nie jest zalecane. Zaleca się zidentyfikowanie przyczyn budowy tego projektu i zapobieganie temu.