Aracılığıyla paylaş


NETSDK1071: Çerçeveye dahil edilecek bir meta pakete PackageReference açıkça sürümlendi.

Bu makale şunlar için geçerlidir: ✔️ .NET 5.0.100 SDK ve sonraki sürümleri

.NET SDK NETSDK1071 uyarısını verdiğinde, gelecekte PackageReference'ta belirtilen bir metapaketin sürümü ile TargetFramework özelliği aracılığıyla örtük olarak başvurulan bu metapaketin sürümü arasında bir sürüm çakışması olabileceğini önerir.

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

meta paketinin TargetFramework bir sürümünü otomatik olarak getirdiğinden, farklı olması durumunda sürümler çakışacaktır.

Bunu çözmek için:

  1. .NET Core veya .NET Standard'ı hedeflediğinizde, proje dosyanızda Microsoft.NETCore.App veya NETStandard.Library gibi belirgin referanslardan kaçınmayı göz önünde bulundurun.

  2. .NET Core'ı hedeflerken çalışma zamanının belirli bir sürümüne ihtiyacınız varsa meta paketine <RuntimeFrameworkVersion>doğrudan başvurmak yerine özelliğini kullanın. Örneğin, bağımsız dağıtımlar kullanıyorsanız ve 1.0.0 LTS çalışma zamanının belirli bir yaması gerekiyorsa bu durum oluşabilir.

  3. .NET Standard'ı hedeflerken belirli bir sürümüne NetStandard.Library ihtiyacınız varsa özelliğini kullanabilir <NetStandardImplicitPackageVersion> ve ihtiyacınız olan sürüme ayarlayabilirsiniz.

  4. .NET Framework projelerinin herhangi birine Microsoft.NETCore.App veya NETSTandard.Library için açıkça başvurular eklenmemeli veya güncelleştirilmemelidir. NuGet, .NET Standart tabanlı NuGet paketi kullanırken ihtiyacınız olan tüm sürümleri NETStandard.Library otomatik olarak yükler.

  5. .NET SDK'sı otomatik olarak uygun sürümü seçtiğinden, .NET Core 2.1+ için Microsoft.AspNetCore.App veya Microsoft.AspNetCore.All kullanırken bir sürüm belirtmeyin. (Not: Bu yalnızca proje aynı zamanda Microsoft.NET.Sdk.Web kullanıyorsa .NET Core 2.1 hedeflendiğinde çalışır. Bu sorun .NET Core 2.2 SDK'sında giderilmiştir.)

  6. Uyarının ortadan kalkmasını istiyorsanız, bunu da devre dışı bırakabilirsiniz:

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