NETSDK1071: PackageReference com versão explícita para um metapacote que seria incluído na estrutura.
Este artigo se aplica a: ✔️ SDK do .NET 5.0.100 e versões posteriores
Quando o SDK do .NET emite um aviso NETSDK1071, ele sugere que poderá haver um conflito de versão no futuro entre a versão de um metapacote especificado em uma PackageReference e a versão desse metapacote referenciada implicitamente por meio de uma propriedade TargetFramework:
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
</PropertyGroup>
Como o TargetFramework
traz automaticamente uma versão do metapacote, as versões entrarão em conflito caso sejam diferentes.
Para resolver esse problema:
Ao direcionar o .NET Core ou o .NET Standard, evite referências explícitas a
Microsoft.NETCore.App
ouNETStandard.Library
no arquivo do projeto.Se precisar de uma versão específica do runtime ao direcionar ao .NET Core, use a propriedade
<RuntimeFrameworkVersion>
em vez de referenciar o metapacote diretamente. Por exemplo, isso poderá acontecer se você estiver usando implantações autossuficientes e precisar de um patch específico do runtime 1.0.0 do LTS.Se precisar de uma versão específica de
NetStandard.Library
ao direcionar ao .NET Standard, use a propriedade<NetStandardImplicitPackageVersion>
e defina a versão necessária.Não adicione nem atualize referências explicitamente em nenhum a
Microsoft.NETCore.App
ouNETSTandard.Library
nos projetos do .NET Framework. O NuGet instala automaticamente a versão deNETStandard.Library
que você precisa ao usar um pacote de NuGet baseado no .NET Standard.Não especifique uma versão para
Microsoft.AspNetCore.App
ouMicrosoft.AspNetCore.All
ao usar o .NET Core 2.1 e superiores, pois o SDK do .NET seleciona automaticamente a versão apropriada. (Observação: isso só funciona ao direcionar ao .NET Core 2.1 quando o projeto também usaMicrosoft.NET.Sdk.Web
. Esse problema foi resolvido no SDK do .NET Core 2.2.)Se você quiser que o aviso desapareça, também poderá desabilitá-lo:
<PackageReference Include="Microsoft.NetCore.App" Version="2.2.8" > <AllowExplicitVersion>true</AllowExplicitVersion> </PackageReference>