Megosztás a következőn keresztül:


NETSDK1071: Explicit módon verziószámozott PackageReference a keretrendszer részét képező metapackage-hez.

Ez a cikk a következőre vonatkozik: ✔️ .NET 5.0.100 SDK és újabb verziók

Amikor a .NET SDK figyelmeztetést ad NETSDK1071, azt javasolja, hogy a jövőben verzióütközés következhet be a PackageReference-ben megadott metacsomag verziója és a metapackage verziója között, amint az implicit módon hivatkozik a TargetFramework tulajdonságon keresztül:

<PropertyGroup>
  <TargetFramework>net6.0</TargetFramework>
</PropertyGroup>

Mivel az TargetFramework automatikusan behozza a metapackage egy verzióját, a verziók ütköznek, ha valaha is különböznek.

A probléma megoldásához:

  1. A .NET Core vagy a .NET Standard megcélzásakor érdemes lehet elkerülni a projektfájlra Microsoft.NETCore.AppNETStandard.Library vagy a projektfájlra mutató explicit hivatkozásokat.

  2. Ha a .NET Core megcélzásakor a futtatókörnyezet egy adott verziójára van szüksége, használja a tulajdonságot ahelyett <RuntimeFrameworkVersion>, hogy közvetlenül hivatkozna a metapackage-ra. Ez például akkor fordulhat elő, ha önkiszolgáló üzemelő példányokat használ, és az 1.0.0 LTS-futtatókörnyezet egy adott javítására van szüksége.

  3. Ha a .NET Standard célcsoportjának egy adott verziójára NetStandard.Library van szüksége, használhatja a <NetStandardImplicitPackageVersion> tulajdonságot, és beállíthatja a kívánt verzióra.

  4. Ne adjon hozzá vagy frissítsen hivatkozásokat sem a .NET-keretrendszer projektjeihez, sem Microsoft.NETCore.AppNETSTandard.Library a projektekhez. A NuGet automatikusan telepíti a NETStandard.Library szükséges verziókat egy .NET Standard-alapú NuGet-csomag használatakor.

  5. Ne adjon meg verziót Microsoft.AspNetCore.App a .NET Core 2.1+-hoz, Microsoft.AspNetCore.All mert a .NET SDK automatikusan kiválasztja a megfelelő verziót. (Megjegyzés: Ez csak akkor működik, ha a .NET Core 2.1-et célozza, ha a projekt is használ Microsoft.NET.Sdk.Web. Ezt a problémát a .NET Core 2.2 SDK-ban oldották meg.)

  6. Ha azt szeretné, hogy a figyelmeztetés eltűnjön, letilthatja azt is:

    <PackageReference Include="Microsoft.NetCore.App" Version="2.2.8" >
      <AllowExplicitVersion>true</AllowExplicitVersion>
    </PackageReference>