NETSDK1071: Explicitně verze PackageReference na metabalíč, který by byl součástí architektury.
Tento článek se vztahuje na: ✔️ .NET 5.0.100 SDK a novější verze
Když sada .NET SDK zobrazí upozornění NETSDK1071, naznačuje, že v budoucnu může dojít ke konfliktu verzí mezi verzí metabalíku zadanou v packageReference a verzí tohoto metabalíku implicitně odkazovaného prostřednictvím vlastnosti TargetFramework:
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
</PropertyGroup>
TargetFramework
Vzhledem k tomu, že automaticky přináší verzi metabalíku, budou verze kolidovat, pokud se budou lišit.
Řešení je následující:
Pokud cílíte na .NET Core nebo .NET Standard, zvažte, že se vyhnete explicitním odkazům na
Microsoft.NETCore.App
soubor projektu neboNETStandard.Library
do souboru projektu.Pokud při cílení na .NET Core potřebujete konkrétní verzi modulu runtime, místo přímého odkazu na metabalík použijte
<RuntimeFrameworkVersion>
vlastnost. K tomu může dojít například v případě, že používáte samostatná nasazení a potřebujete konkrétní opravu modulu runtime 1.0.0 LTS.Pokud potřebujete konkrétní verzi
NetStandard.Library
cílení na .NET Standard, můžete tuto vlastnost použít<NetStandardImplicitPackageVersion>
a nastavit ji na požadovanou verzi.Nepřidávejte ani neaktualizovat odkazy na projekty
Microsoft.NETCore.App
rozhraní .NET Framework aniNETSTandard.Library
explicitně. NuGet automaticky nainstaluje libovolnou verziNETStandard.Library
, kterou potřebujete při použití balíčku NuGet založeného na .NET Standard.Nezadávejte verzi pro
Microsoft.AspNetCore.App
neboMicrosoft.AspNetCore.All
při použití .NET Core 2.1 nebo novější, protože sada .NET SDK automaticky vybere příslušnou verzi. (Poznámka: Funguje pouze při cílení na .NET Core 2.1, pokud projekt také používáMicrosoft.NET.Sdk.Web
. Tento problém byl vyřešen v sadě .NET Core 2.2 SDK.)Pokud chcete, aby se upozornění odpojilo, můžete ho také zakázat:
<PackageReference Include="Microsoft.NetCore.App" Version="2.2.8" > <AllowExplicitVersion>true</AllowExplicitVersion> </PackageReference>