C# Xamarin赢得';不要建立在物理设备上

C# Xamarin赢得';不要建立在物理设备上,c#,xamarin,xamarin.ios,csproj,C#,Xamarin,Xamarin.ios,Csproj,我正在构建一个Xamarin应用程序,到目前为止,我已经能够在iPhone模拟器上毫无问题地构建,但我还没有能够让该应用程序在物理iPhone设备上成功启动。过去(大约一个月前),该应用程序在同一台设备上运行良好。以下是一些关于细节的背景: 我在我的Windows机器上开发我的Xamarin代码,该机器链接到远程Mac(由第三方托管服务MacStadium托管) 我的测试手机是运行iOS 10.3.3的iPhone5c 为了部署到我的iPhone,我在Visual Studio中以发布模式构建

我正在构建一个Xamarin应用程序,到目前为止,我已经能够在iPhone模拟器上毫无问题地构建,但我还没有能够让该应用程序在物理iPhone设备上成功启动。过去(大约一个月前),该应用程序在同一台设备上运行良好。以下是一些关于细节的背景:

  • 我在我的Windows机器上开发我的Xamarin代码,该机器链接到远程Mac(由第三方托管服务MacStadium托管)
  • 我的测试手机是运行iOS 10.3.3的iPhone5c
  • 为了部署到我的iPhone,我在Visual Studio中以发布模式构建我的应用程序,将代码上载到第三方应用程序安装服务Installr,该服务承载IPA文件并协助在物理设备上安装我的应用程序。我从来没有遇到过Installr的问题,也没有理由相信这是我问题的根源
  • 自从上次应用程序在物理设备上运行以来,我将Visual Studio更新为16.3.2版,并更新了Xamarin。以下是Xamarin规格:
通常情况下,我会在iPhone上下载并安装我的应用程序,不会出现任何问题。但是,当我点击应用程序时,启动屏幕会加载大约5秒钟,一个白色屏幕会短暂出现,如下所示,然后应用程序崩溃

我在互联网上看过几篇关于StackOverflow和其他来源的相关文章,但没有一个建议的解决方案适合我。例如,我尝试添加
[assembly:XamlCompilation(XamlCompilationOptions.Compile)]
到App.xaml.cs,运气不好

我还修改了CSProj文件设置,以编译各种ARM64和ARMv7组合。改变这一点也无济于事。我已尝试将链接器行为从“仅链接框架SDK”更改为“不链接”,并收到一条错误消息,指出本机代码对于32位体系结构来说太大。为了避免这个错误,我只会编译64种架构,但我相信iphone5c使用的是32位架构

下面是我的iOS项目的CSProj文件当前的样子。我尝试过在没有运气的情况下检查所有这些复选框:


我对这可能是什么感到困惑。如有任何建议,将不胜感激。更复杂的是,我还没能从iPhone上得到一个好的日志文件。由于Mac是远程托管的,所以我无法将手机插入XCode以这种方式读取日志。是否有人有可靠的解决方案以另一种方式获取日志文件?

看来升级解决了这个问题。Visual Studio已从16.3.2更新为Visual Studio至16.3.5。我的Mac电脑上的XCode已更新为11.1版。在这些更新之后,Visual Studio在远程连接到Mac时执行了更新

是否有任何调试输出(堆栈跟踪或核心转储)?嗨,在物理设备上调试时程序是否工作,您可以先检查一下。谢谢你们的回复。我无法将调试器连接到物理电话。我想这可能是因为我无法物理访问Mac?无论如何,我将VisualStudio从16.3.2更新为16.3.5,并将Mac上的XCode更新为11.1版。在此之后,VisualStudio在远程连接到Mac时自动升级了某些内容。不确定这些更新中到底包含了什么,但它现在似乎正在我的iPhone上构建!