我在 PC Visual Studio CE 2022 上尝试为 iOS 进行存档和部署。我正在使用以下命令:
dotnet publish PopUpShop.Mobile.Maui -f net7.0-ios -c Release /p:ServerAddress=192.168.1.XXX /p:ServerUser='username' /p:TcpPort=58181 /p:ArchiveOnBuild=true
该进程构建并连接到我的 Macbook,但随后抛出此错误:
C:\Program Files\dotnet\packs\Microsoft.iOS.Sdk\16.1.1477\tools\msbuild\iOS\Xamarin.Shared.targets(1738,3): error : Could not find Microsoft.iOS in /usr/local/share/dotnet/packs/Microsoft.iOS.Sdk/16.1.1477/
我不太确定它在哪里寻找 /usr/local/share...我认为它在 Macbook 上。
我必须在 Macbook 上安装该版本的 SDK 吗?如果是这样我该怎么做? (不是 Mac 用户)。我在终端尝试过
dotnet add package Microsoft.iOS.Sdk --version 16.1.1477
但它想将其添加到特定项目中。
问题是我缺少 /p:_DotNetRootRemoteDirectory='/Users/{mac_os_username}/Library/Caches/Xamarin/XMA/SDKs/dotnet/' 参数。由于某种原因,它不是我复制的 cli 字符串的一部分。错误消息也没有帮助,会让你掉进兔子洞。
我的解决方案来自 PC 中的 Visual Studio,我将其与我的 Mac 配对,它会自动为我重新安装所有内容。
如果我无法连接到我的 Mac 或遇到一些问题,我将执行此步骤:
[1] --> 在 Mac 中 打开“$HOME/Library/Caches/Xamarin” --> 移至垃圾箱 XMA 文件夹
[2] --> 在本地窗口中 删除%localappdata%\Temp\Xamarin\XMA
[3]重启视觉工作室
Xcode 14.2 仍在开发中,Visual Studio c 尚不支持它。您可以在此处查看发行说明Visual Studio 2022 版本 17.4 发行说明。
作为替代方案,您现在可以尝试降级回 Xcode 14.1 并构建项目。如果您还有疑问,请随时提问。
希望它对你有用。
在我的例子中,在 _DotNetRootRemoteDirectory 之前删除下划线解决了这个问题。
dotnet发布MyProject -f net8.0-ios -c Release /p:ServerAddress=192.168.nn.nn /p:TcpPort=58181 /p:ArchiveOnBuild=true /p:ServerUser=XXXXXX /p:DotNetRootRemoteDirectory=/Users /XXXXXXX/库/缓存/Xamarin/XMA/SDK/dotnet/