我正在尝试将应用程序发布到IOS,但出现无法修复的错误。
我遵循了这个guide,我试图从VisualStudio2022分发我的应用程序,显然也连接了Mac(Xcode更新到最新版本)。
我可以重现指南中的所有步骤,但最后一个给予了我错误。我的应用程序在Net7中,但更新前同样的错误也出现在Net6中。
我在VS终端中创建IPA文件的命令是:
dotnet publish -f:net7.0-ios -c:Release /p:ServerAddress=192.168.1.117 /p:ServerUser=****** /p:ServerPassword=******* /p:TcpPort=58181 /P:ArchiveOnBuild=true /p:_DotNetRootRemoteDirectory=/Users/*****/Library/Caches/Xamarin/XMA/SDKs/dotnet/ /p:RuntimeIdentifier=ios-arm64
但每次控制台都返回此错误:
C:\Program Files\dotnet\packs\Microsoft.iOS.Windows.Sdk\16.2.1024\tools\msbuild\iOS\Xamarin.iOS.Common.After.targets(332,3): error IL1031: Invalid assembly action 'partial'. [D:\VSProj\CSys.CTech.Mob
ileApp\CSys.CTech.MobileApp\CSys.CTech.MobileApp.csproj::TargetFramework=net7.0-ios]
C:\Program Files\dotnet\packs\Microsoft.iOS.Windows.Sdk\16.2.1024\tools\msbuild\iOS\Xamarin.iOS.Common.After.targets(110,3): error MSB4044: all'attività "CopyArchiveFiles" non è stato assegnato un va
lore per il parametro obbligatorio "ArchivePath". [D:\VSProj\CSys.CTech.MobileApp\CSys.CTech.MobileApp\CSys.CTech.MobileApp.csproj::TargetFramework=net7.0-ios]
翻译成英文的意大利语部分是〈〈尚未为“CopyArchiveFiles”任务分配必需的“ArchivePath”参数值〉〉
我试过一些方法
- 删除ArchiveOnBuild参数(或设置为false),错误将消失,但显然不会生成ipa文件
- 移动.csproj文件中的参数,但没有任何更改
- 添加ArchivePath参数到命令(或.csproj文件),但它给予我同样的错误.(这个参数甚至存在吗?我还没有找到任何关于它)
我希望我已向各位提供了所有资料,以助我一臂之力。谢谢各位。
1条答案
按热度按时间sqxo8psd1#
首先,请确保您已经在windows机器中设置了
Visual Studio
中的Archives location
。在VS中,选择Tools -> Options -> Xamarin -> iOS Settings -> Archives location
,通常它应该像C:\Users\username\AppData\Local\Xamarin\iOS\Archives
。此外,您还可以直接在Mac上通过
VS for MAC
发布iOS应用,而无需使用donet publish command
,在Build菜单中选择Archive for Publishing
,详情请参考Build and submit your app;参考链接:
https://github.com/dotnet/docs-maui/issues/681#issuecomment-1173703085
https://learn.microsoft.com/en-us/xamarin/ios/deploy-test/app-distribution/app-store-distribution/publishing-to-the-app-store?tabs=macos
https://learn.microsoft.com/en-us/xamarin/ios/troubleshooting/questions/ipa-output-path