我遇到了一个问题,无法编译 .NET 6 项目,因为它面向 Windows,但我正在 MacOS 上工作。这是 .csproj 文件的一部分:
<OutputType>WinExe</OutputType>
<TargetFramework>net60-windows</TargetFramework>
<UseWPF>true</UseWPF>
Run Code Online (Sandbox Code Playgroud)
当查看控制台输出时,我看到了以下有趣的内容:
/usr/local/share/dotnet/sdk/6.0.401/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.FrameworkReferenceResolution.targets(90,5):错误 NETSDK1100:构建面向 Windows 的项目此操作系统,将 EnableWindowsTargeting 属性设置为 true
如果我只是将我的项目修改为:
<OutputType>WinExe</OutputType>
<TargetFramework>net60-windows</TargetFramework>
<UseWPF>true</UseWPF>
<EnableWindowsTargeting>true</EnableWindowsTargeting>
Run Code Online (Sandbox Code Playgroud)
然后它成功编译,但现在我想知道这实际上是做什么的?我找不到关于该属性的太多文档,官方文档只说它将下载运行时包,但这到底意味着什么?我以为当你指定<TargetFramework>netXX-windows</TargetFramework>它时,它只能在 Windows 上运行?
| 归档时间: |
|
| 查看次数: |
2667 次 |
| 最近记录: |