我最近升级到了VS 15.5.1,突然间我再也无法在iOS上部署了。标准输出中没有任何内容只在Xamarin日志文件中我可以找到堆栈跟踪:
Xamarin.VisualStudio.IOS.MonoTouchFlavoredProject | Error | 0 | lauching Application进行调试时发生错误 System.NullReferenceException:未将对象引用设置为对象的实例。 在C:\ d \ lanes \ 5409 \ 6575bd11 \ source \ xamarinvs \ External \ Xamarin.MacDev \ Xamarin.MacDev \ ManifestExtensions.cs中的Xamarin.MacDev.ManifestExtensions.GetCFBundleIdentifier(PDictionary dict):第119行 在C:\ d \ lanes \ 5409 \ 6575bd11 \ source \ xamarinvs \ src \ Core \ VisualStudio.IOS \ ProjectSystem \ MonoTouchFlavoredProject.cs中的Xamarin.VisualStudio.IOS.MonoTouchFlavoredProject.GetRunSessionInfo(MonoTouchDevice设备):第1035行 在C:\ d \ lanes \ 5409 \ 6575bd11 \ source \ xamarinvs \ src \ Core \ VisualStudio.IOS \ ProjectSystem \ MonoTouchFlavoredProject.cs中的Xamarin.VisualStudio.IOS.MonoTouchFlavoredProject.CreateDebuggerStartInfo(MonoTouchDevice device,Int32 debugPort):第907行 在C:\ d \ lanes \ 5409 \ 6575bd11 \ source \ xamarinvs \ src \ Core \ VisualStudio.IOS \ ProjectSystem \ MonoTouchFlavoredProject.cs中的Xamarin.VisualStudio.IOS.MonoTouchFlavoredProject.StartDebugging(MonoTouchDevice设备,IProgressReport进度,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:第955行
这适用于模拟器和设备部署。它似乎无法从plist中检索BundleIdentifier,但它就在那里,并且部署在上一个VS版本中工作得很好。 有人有线索吗?
答案 0 :(得分: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>
无论如何逻辑名称属性不再起作用,或者条件有问题,所以我们将它固定到以下内容:
<None Include="Info.plist" />
现在再次运作......