Proj0037: Exclude runtime when all assets are private

For some <PackageReference>s (code generators, analyzers, etc.) the referenced package does not contain any assembly that should be accessible runtime. This is indicated by PrivateAssets="all". Without also specifying ExcludeAssets="runtime" however, the IDE might still suggest to access code shipped with the package which would fail runtime.

Non-compliant

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>net8.0</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="DotNetProjectFile.Analyzers" Version="1.5.10.1" PrivateAssets="all" />
  </ItemGroup>

</Project>

Compliant

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>net8.0</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="DotNetProjectFile.Analyzers" Version="1.5.10.1" PrivateAssets="all" ExcludeAssets="runtime" />
  </ItemGroup>

</Project>