我不知道自己被困在什么地方,但它阻止我做某事。 搜了一下好像是个新东西,没找到。
/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>
错误 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 文件中进行设置。