Dela via


NETSDK1071: Explicit version av PackageReference till ett metapaket som skulle ingå i ramverket.

Den här artikeln gäller för: ✔️ .NET 5.0.100 SDK och senare versioner

När .NET SDK utfärdar varning NETSDK1071, tyder det på att det kan finnas en versionskonflikt i framtiden mellan versionen av ett metapaket som anges i en PackageReference och den version av metapaketet som implicit refereras via en TargetFramework-egenskap:

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

Eftersom den TargetFramework automatiskt tar in en version av metapaketet, kommer versionerna att vara i konflikt om de skulle skilja sig åt.

Lösning:

  1. När du riktar in dig på .NET Core eller .NET Standard bör du överväga att undvika explicita referenser till Microsoft.NETCore.App eller NETStandard.Library i projektfilen.

  2. Om du behöver en specifik version av körningen när du riktar in dig på .NET Core använder du <RuntimeFrameworkVersion>egenskapen i stället för att referera till metapaketet direkt. Detta kan till exempel inträffa om du använder fristående distributioner och behöver en specifik korrigering av 1.0.0 LTS-körningen.

  3. Om du behöver en specifik version av NetStandard.Library när du riktar in dig på .NET Standard kan du använda <NetStandardImplicitPackageVersion> egenskapen och ange den till den version du behöver.

  4. Lägg inte uttryckligen till eller uppdatera referenser till vare sig Microsoft.NETCore.App eller NETSTandard.Library i .NET Framework-projekt. NuGet installerar automatiskt alla versioner av NETStandard.Library du behöver när du använder ett .NET Standard-baserat NuGet-paket.

  5. Ange inte en version för Microsoft.AspNetCore.App eller Microsoft.AspNetCore.All när du använder .NET Core 2.1+, eftersom .NET SDK automatiskt väljer rätt version. (Obs! Detta fungerar bara när du riktar in dig på .NET Core 2.1 om projektet även använder Microsoft.NET.Sdk.Web. Det här problemet löstes i .NET Core 2.2 SDK.)

  6. Om du vill att varningen ska försvinna kan du också inaktivera den:

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