Ios System.AggregateException:发生一个或多个错误-->MonoTouch.Design.Client.DesignerRemoteeException

Ios System.AggregateException:发生一个或多个错误-->MonoTouch.Design.Client.DesignerRemoteeException,ios,xamarin.ios,xamarin,Ios,Xamarin.ios,Xamarin,我一直在为IOS设计故事板应用程序。除了编写自动生成的代码外,没有代码。在Xamarin中重新打开情节提要文件后,我出现以下错误: System.AggregateException: One or more errors occured ---> MonoTouch.Design.Client.DesignerRemoteException: System.ArgumentNullException: Argument cannot be null. Parameter name: ke

我一直在为IOS设计故事板应用程序。除了编写自动生成的代码外,没有代码。在Xamarin中重新打开情节提要文件后,我出现以下错误:

System.AggregateException: One or more errors occured ---> MonoTouch.Design.Client.DesignerRemoteException: System.ArgumentNullException: Argument cannot be null.
Parameter name: key
    at System.Collections.Generic.Dictionary`2[MonoTouch.UIKit.UIImage,System.String].set_Item (MonoTouch.UIKit.UIImage key, System.String value) in /Developer/MonoTouch/Source/mono/mcs/class/corlib/System.Collections.Generic/Dictionary.cs:216
    at MonoTouch.Design.Server.ImageResourceManager.SetImage (System.String name, MonoTouch.UIKit.UIImage value) in /Users/builder/data/lanes/1089/7d45bbe2/source/md-addins/Xamarin.Designer.iOS/MonoTouch.Design.Server/ImageResourceManager.cs:79
    at MonoTouch.Design.Server.SessionController+<PostImageResource>c__AnonStorey3.<>m__0 () in /Users/builder/data/lanes/1089/7d45bbe2/source/md-addins/Xamarin.Designer.iOS/MonoTouch.Design.Server/SessionController.cs:167
    at MonoTouch.Design.NativeExtensions+<SafeInvokeOnMainThread>c__AnonStorey0.<>m__0 () in /Users/builder/data/lanes/1089/7d45bbe2/source/md-addins/Xamarin.Designer.iOS/MonoTouch.Design.Server/Util/NativeExtensions.cs:378
  at MonoTouch.Design.Client.ServerProcessConnection.SendRequest (MonoTouch.Design.CommandRequest req, Boolean throwIfNotRunning) [0x0007f] in /Users/builder/data/lanes/1089/7d45bbe2/source/md-addins/Xamarin.Designer.iOS/MonoTouch.Design.Client/Connection/ServerProcessConnection.cs:195 
  at MonoTouch.Design.Client.ServerProcessConnection.SendRequest[Object] (MonoTouch.Design.CommandRequest req, Boolean throwIfNotRunning) [0x00004] in /Users/builder/data/lanes/1089/7d45bbe2/source/md-addins/Xamarin.Designer.iOS/MonoTouch.Design.Client/Connection/ServerProcessConnection.cs:202 
  at MonoTouch.Design.Client.ServerProcessConnection.PostResources (MonoTouch.Design.DesignSession session, MonoTouch.Design.ImageResource[] resources) [0x0003f] in /Users/builder/data/lanes/1089/7d45bbe2/source/md-addins/Xamarin.Designer.iOS/MonoTouch.Design.Client/Connection/ServerProcessConnection.cs:132 
  at MonoTouch.Design.Client.IPhoneDesignerSession+<SendImageResources>c__AnonStorey13.<>m__1 () [0x00019] in /Users/builder/data/lanes/1089/7d45bbe2/source/md-addins/Xamarin.Designer.iOS/MonoTouch.Design.Client/IPhoneDesignerSession.cs:1329 
  at System.Threading.Tasks.TaskActionInvoker+FuncInvoke`1[System.Object].Invoke (System.Threading.Tasks.Task owner, System.Object state, System.Threading.Tasks.Task context) [0x00000] in /Volumes/build-root-ramdisk/mono-3.6.0/mcs/class/corlib/System.Threading.Tasks/TaskActionInvoker.cs:242 
  at System.Threading.Tasks.Task.InnerInvoke () [0x00031] in /Volumes/build-root-ramdisk/mono-3.6.0/mcs/class/corlib/System.Threading.Tasks/Task.cs:548 
  at System.Threading.Tasks.Task.ThreadStart () [0x000d0] in /Volumes/build-root-ramdisk/mono-3.6.0/mcs/class/corlib/System.Threading.Tasks/Task.cs:438 

有人能帮我弄清楚这是什么意思吗?

据我所知,错误是由以下原因造成的:

iOS设计器打开故事板并尝试解析其中的XML。 解析后,它调用MonoTouch.Design.Server,该服务器可能会运行针对Xcode的代码来呈现XML。执行此操作时,它会遇到包含UIImage的ViewElement。因此,它尝试使用存储在使用相同XML填充的字典中的参数来设置UIImage。当它试图访问该字典以使参数屈服于UIImage时,它会为键输入一个“null”,这会导致错误

现在我不知道你的故事板中到底是什么导致了这个错误,因为你没有提供有问题的故事板文件,我也不能保证如果你有,我可以找到这个错误,但是你可以尝试以下一些方法来解决这个问题

尝试用Xcode而不是iOS设计器打开故事板。它有时能够修复iOS Designer无法处理的损坏故事板。 在XML视图中打开情节提要,并查看其中包含UIImage的元素。试着看看他们中是否有人有“奇怪”的名字、来源、价值或其他东西。
在这里发布故事板,看看是否有其他人可以发现错误我遇到了一个类似的情况,错误消息的开头与原始文章完全相同。我无法在Visual Studio 2015和Xamarin Studio 5.10.3 build 51中打开情节提要

在花了一些时间比较了对.csproj文件的更改之后,我发现ipad的图像导致了这个问题。我不知道这篇原创文章的真正原因,但对我来说,我有一张图片用作ipad的应用程序徽标,我把它命名为imagename@ipad.png. 事实证明,即使XCode 7完美地打开了故事板,这也会让设计师大吃一惊

最后,我将图像重命名为imagename~iPad.png,这就成功了。VS 2015和XS 5.10.3都很高兴打开故事板

下面是Xamarin提供的用于处理图像的文档