我正在用框架net7.0-windows;net7.0-macos
构建一个多目标应用程序。
当我构建项目时,它正在构建到bin/Debug/net7.0-macos/osx-x64
。
我希望它的目标arm64,因为我是在M1 mac上。
这可能吗?
使用。net Core,您不需要针对特定的架构,您只需针对它进行部署,例如:
dotnet publish MyProject.csproj --runtime linux-arm64
这会创建bin/Debug/net7.0/publish文件夹,其中包含为arm64准备的项目。
然而,如果您的项目以net7.0-windows;net7.0-macos
为目标,则很可能导致错误。您需要一个通用的目标说明符,例如net7.0
。特定于操作系统的目标net7.0-windows
和net7.0-macos
只有在使用仅适用于这些框架的库(如WPF或WinForms)时才需要。既然您已经以macos为目标,我怀疑您使用的是其中任何一个,那么为什么不使用通用的net7.0
目标呢?