【问题标题】:Xamarin iOS Deployment failes silentlyXamarin iOS 部署以静默方式失败
【发布时间】:2017-12-20 21:46:53
【问题描述】:

我最近升级到 VS 15.5.1,突然无法再在 iOS 上部署。标准输出中没有任何内容,仅在 Xamarin 日志文件中我可以找到堆栈跟踪:

Xamarin.VisualStudio.IOS.MonoTouchFlavoredProject|错误|0|启动应用程序进行调试时出错 System.NullReferenceException:对象引用未设置为对象的实例。 在 Xamarin.MacDev.ManifestExtensions.GetCFBundleIdentifier(PDictionary dict) 在 C:\d\lanes\5409\6575bd11\source\xamarinvs\External\Xamarin.MacDev\Xamarin.MacDev\ManifestExtensions.cs:line 119 在 Xamarin.VisualStudio.IOS.MonoTouchFlavoredProject.GetRunSessionInfo(MonoTouchDevice device) 在 C:\d\lanes\5409\6575bd11\source\xamarinvs\src\Core\VisualStudio.IOS\ProjectSystem\MonoTouchFlavoredProject.cs:line 1035 在 C:\d\lanes\5409\6575bd11\source\xamarinvs\src\Core\VisualStudio.IOS\ProjectSystem\MonoTouchFlavoredProject.cs:line 907 中的 Xamarin.VisualStudio.IOS.MonoTouchFlavoredProject.CreateDebuggerStartInfo(MonoTouchDevice device, Int32 debugPort) 在 C:\d\lanes\5409\6575bd11\source\xamarinvs\src\Core\VisualStudio.IOS\ProjectSystem\MonoTouchFlavoredProject.cs 中的 Xamarin.VisualStudio.IOS.MonoTouchFlavoredProject.StartDebugging(MonoTouchDevice device, IProgressReport progress, MonoDebuggerLauncher debug_session): 980线 在 Xamarin.VisualStudio.IOS.MonoTouchFlavoredProject.c__DisplayClass75_0.b__0() 在 C:\d\lanes\5409\6575bd11\source\xamarinvs\src\Core\VisualStudio.IOS\ProjectSystem\MonoTouchFlavoredProject.cs:line 955

这适用于模拟器和设备部署。似乎无法从 plist 中检索 BundleIdentifier,但它就在那里,并且在最后一个 VS 版本中部署工作得很好。 有人知道吗?

【问题讨论】:

  • 尝试删除bin和obj文件夹,清理,重建。
  • 已经试过几次了。不幸的是,这不起作用
  • 每当我们遇到这种无声的失败时,我们的观点肯定有问题
  • 但在我们的例子中,应用程序在 VS 升级之前工作。下面列出了我的解决方案

标签: visual-studio xamarin xamarin.ios


【解决方案1】:

我们的 iOS .proj 文件有问题,因为我们有不同的 .plist 文件用于开发和发布:

<None Include="Info_debug.plist" Condition="'$(Configuration)' == 'Debug'">   <SubType>Designer</SubType>   <LogicalName>Info.plist</LogicalName> </None> <None Include="Info_release.plist" Condition="'$(Configuration)' == 'Release'">   <SubType>Designer</SubType>   <LogicalName>Info.plist</LogicalName> </None>

不知何故,logicalname 属性不再起作用,或者 Condition 造成了一些麻烦,因此我们将其修复为以下内容:

<None Include="Info.plist" />

现在它又可以工作了……

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多