NETSDK1100:将 EnableWindowsTargeting 属性设置为 true
NETSDK1100 指示正在生成面向 Linux 或 macOS 上的 Windows 的项目。 完整的错误消息类似于以下示例:
若要生成面向此操作系统上的 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 SDK 版本提供 Windows 目标包,但我们也不希望 vanilla 控制台或 ASP.NET Core 应用在你首次生成时自动下载这些目标包和运行时包。 EnableWindowsTargeting
属性仅在你选择加入时才允许下载这些包。