Поделиться через


NETSDK1071. Явно версия PackageReference в метапакет, который будет включен в платформу.

Эта статья относится к: ✔️ пакету SDK для .NET 5.0.100 и более поздних версий

Когда пакет SDK для .NET выдает предупреждение NETSDK1071, это означает, что в будущем может возникнуть конфликт версий между версией метапакета, указанной в PackageReference, и версией того же метапакета, неявно заданной в свойстве TargetFramework:

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

TargetFramework Так как автоматический перенос в версию метапакета, версии будут конфликтовать, если они когда-либо отличаются.

Чтобы устранить эту проблему:

  1. При целевом объекте .NET Core или .NET Standard рекомендуется избегать явных ссылок на Microsoft.NETCore.App файл проекта или NETStandard.Library на нее.

  2. Если при ориентации на .NET Core нужна определенная версия среды выполнения, вместо прямой ссылки на метапакет используйте свойство <RuntimeFrameworkVersion>. Это может произойти, например, когда вы используете автономные развертывания и нуждаетесь в определенной версии исправления 1.0.0 LTS для среды выполнения.

  3. Если при ориентации на .NET Standard вам нужна конкретная версия NetStandard.Library, можно использовать свойство <NetStandardImplicitPackageVersion> и установить требуемую версию.

  4. Не добавляйте и не обновляйте ссылки на Microsoft.NETCore.App или NETSTandard.Library явным образом в проектах .NET Framework. Если при использовании пакета NuGet на основе .NET Standard требуется любая версия NETStandard.Library, NuGet автоматически устанавливает ее.

  5. Не указывайте версию для Microsoft.AspNetCore.App или Microsoft.AspNetCore.All при использовании .NET Core 2.1 и более поздних версий, так как пакет SDK для .NET автоматически выбирает соответствующую версию. (Примечание. Это работает только при выборе .NET Core 2.1, если проект также использует Microsoft.NET.Sdk.Web. Эта проблема устранена в пакете SDK для .NET Core 2.2.)

  6. Если вы не хотите получать это предупреждение, вы можете отключить его:

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