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


NETSDK1100. Задайте для свойства EnableWindowsTargeting значение true

NETSDK1100 указывает, что вы создаете проект, предназначенный для Windows в Linux или macOS. Полный текст сообщения об ошибке подобен приведенному ниже.

Чтобы создать проект, предназначенный для Windows в этой операционной системе, задайте EnableWindowsTargeting для свойства значение true.

Чтобы устранить эту ошибку, задайте EnableWindowsTargeting для свойства значение true. Его можно задать в файле проекта или передать /p:EnableWindowsTargeting=true в команду .NET CLI, например dotnet build. Ниже приведен пример файла проекта:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net6.0</TargetFramework>
    <EnableWindowsTargeting>true</EnableWindowsTargeting>
  </PropertyGroup>
</Project>

Если вы хотите применить этот параметр ко всему решению или репозиторию, его можно задать в файле Directory.Build.props .

По умолчанию .NET скачивает все целевые пакеты (и пакеты среды выполнения для автономных сборок) для текущей целевой платформы независимо от того, нужны ли они или нет, так как они могут быть доставлены с помощью ссылки на транзитивную платформу. Мы не хотели отправлять пакеты, предназначенные для Windows, с сборками, отличными от Windows SDK, но мы также не хотели, чтобы консоль vanilla или ASP.NET Core приложение для автоматического скачивания этих целевых пакетов и пакетов среды выполнения при первой сборке. Свойство EnableWindowsTargeting позволяет скачать их только в том случае, если вы решили.

См. также