AZFW0109:生成されたプロジェクトは構築すべきではありません

Item 価値
ルール識別子 AZFW0109
Category Sdk
重症度 Warning

原因

Buildターゲットは生成されたazure_functions.g.csprojプロジェクト上で実行されています。 このプロジェクトは直接構築されることを意図せず、拡張ペイロードの復元と解決にのみ使用されます。

ルールの説明

生成されたプロジェクトは直接構築されることを意図せず、拡張ペイロードの復元と解決にのみ使用されます。 ビルドすると警告が表示されます。

修正方法

生成されたプロジェクト(azure_functions.g.csproj)が直接構築されている原因を診断してください。 よくある原因は、プロジェクトを発見するためにグロッビング(globbing)を使うトラバーサルや dirs.proj ファイルが生成されたプロジェクトを意図せずキャプチャしてしまうことです。 MSBuildの バイナリログ は、なぜ azure_functions.g.csproj がどのように構築されているのかを特定するのに役立ちます。

ProjectReference を 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一致する項目を削除してください

グロブや明示的なインクルーブを簡単に変更できない場合は、解決後に一致する項目を削除できます:

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

警告を抑えるタイミング

抑制は推奨されません。 このプロジェクトが建設される原因を特定し、それを阻止することが推奨されます。