如何解决此错误“将 EnableWindowsTargeting 属性设置为 true”。 NETSDK1100

问题描述 投票:0回答:1

我不知道自己被困在什么地方,但它阻止我做某事。 搜了一下好像是个新东西,没找到。

/usr/share/dotnet/sdk/8.0.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.FrameworkReferenceResolution.targets(90,5):错误NETSDK1100:要在此构建针对Windows的项目操作系统,将 EnableWindowsTargeting 属性设置为 true。 [/sec/root/****/*****.Native.csproj]

所以我试着按照他们告诉我的去做......

cat /usr/share/dotnet/sdk/8.0.100/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.FrameworkReferenceResolution.targets | grep -C 2 EnableWindowsTargeting

这就是输出:

EnableTargetingPackDownload="$(EnableTargetingPackDownload)"
                                EnableRuntimePackDownload="$(EnableRuntimePackDownload)"
                                EnableWindowsTargeting="$(EnableWindowsTargeting)"
                                DisableTransitiveFrameworkReferenceDownloads="$(DisableTransitiveFrameworkReferenceDownloads)"
                                KnownCrossgen2Packs="@(KnownCrossgen2Pack)"

现在我应该把 true 放在哪里 它应该看起来像这样

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net6.0</TargetFramework>
    <EnableWindowsTargeting>true</EnableWindowsTargeting>
  </PropertyGroup>
</Project>
asp.net-core sdk .net-8.0
1个回答
0
投票

错误 NETSDK1100:在此构建针对 Windows 的项目 操作系统,将 EnableWindowsTargeting 属性设置为 true。

NetSDK1100
表示您正在构建一个面向 Linux 或 macOS 上的 Windows 的项目。默认情况下,.NET 下载所有目标包,但在不受支持的平台上不会自动下载目标包和运行时包。通过设置 EnableWindowsTargeting 属性,可以将这些内容封装在跨目标下载中。您可以在项目文件中设置:

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

或者通过将 /p:EnableWindowsTargeting=true 传递给 .NET CLI 命令,例如 dotnet build。如果您想将此设置应用于整个解决方案或存储库,您可以在 Directory.Build.props 文件中进行设置。

© www.soinside.com 2019 - 2024. All rights reserved.