【问题标题】:xib is not opened in Xcode in a default MonoTouch applicationxib 未在默认 MonoTouch 应用程序中的 Xcode 中打开
【发布时间】:2012-06-25 01:38:02
【问题描述】:

我刚刚使用 MonoDevelop 创建了一个 MonoTouch 解决方案,在我尝试在 XCode 中打开 xib 进行编辑后,我收到以下异常(并且 xib 没有打开):

System.NotSupportedException: Custom attribute type 0x43 is not supported.
at ICSharpCode.NRefactory.TypeSystem.CecilLoader+BlobReader.ReadCustomAttributeFieldOrPropType () [0x00000] in <filename unknown>:0 
at ICSharpCode.NRefactory.TypeSystem.CecilLoader+BlobReader.ReadNamedArg (IType attributeType) [0x00000] in <filename unknown>:0 
at ICSharpCode.NRefactory.TypeSystem.CecilLoader+CecilResolvedAttribute.DecodeBlob (System.Collections.Generic.List`1 positionalArguments, System.Collections.Generic.List`1 namedArguments) [0x00000] in <filename unknown>:0 
at ICSharpCode.NRefactory.TypeSystem.CecilLoader+CecilResolvedAttribute.DecodeBlob () [0x00000] in <filename unknown>:0 
at ICSharpCode.NRefactory.TypeSystem.CecilLoader+CecilResolvedAttribute.get_PositionalArguments () [0x00000] in <filename unknown>:0 
at MonoDevelop.MacDev.ObjCIntegration.NSObjectInfoService.ConvertType (MonoDevelop.Ide.TypeSystem.ProjectContentWrapper dom, ITypeDefinition type) [0x00000] in <filename unknown>:0 
at MonoDevelop.MacDev.ObjCIntegration.NSObjectInfoService+<GetRegisteredObjects>c__Iterator2.MoveNext () [0x00000] in <filename unknown>:0 
at MonoDevelop.MacDev.ObjCIntegration.NSObjectProjectInfo.Update () [0x00000] in <filename unknown>:0 
at MonoDevelop.MacDev.ObjCIntegration.NSObjectProjectInfo.Update (Boolean force) [0x00000] in <filename unknown>:0 
at MonoDevelop.MacDev.XcodeSyncing.XcodeProjectTracker.UpdateTypes (IProgressMonitor monitor) [0x00000] in <filename unknown>:0 

虽然应用程序编译并运行良好....

【问题讨论】:

  • 我有同样的错误,我刚刚安装了 MonoTouch eval。 OSX 10.7.2、Xcode 4.2.1、MonoDevelop 3.0.3.2

标签: ios xcode xamarin.ios xib xamarin


【解决方案1】:

重启XCode和MonoTouch,应该可以解决这个问题了……

【讨论】:

    【解决方案2】:

    我重新启动了 MonoDevelop 和 XCode,但仍然遇到同样的问题。在我找到更好的解决方案之前,我会这样做:

    1. 在 XCode 中打开现有解决方案。
    2. 打开 xib 文件以启动 Interface Builder(从 XCode 中)。
    3. 在 Interface Builder 中,转到 File>Open。​​
    4. 导航到在 MonoDevelop 中创建的 xib 文件。

    如果不打开现有的 XCode 解决方案,我找不到启动 Interface Builder 的方法。

    【讨论】:

      【解决方案3】:

      我尝试重新启动/重新安装/重新启动无济于事。

      我通过删除对我在同一解决方案中创建的便携式库项目的引用解决了我的问题。 Portable Library 声称它支持 MonoTouch,但也许它并不是要引用 MonoTouch 本身(因为那样它就不能移植到其他平台。)我确实收到了一些与它引用 MonoTouch 相关的编译警告。

      相反,我从 MonoTouch 库项目 项目模板创建了一个新项目,将我的文件移到那里,然后我可以再次在 MonoDevelop 的 Interface Builder 中按预期编辑 XIB 的/情节提要。

      替代方案:我实际上没有创建一个新项目并移动我的文件,而是更改了我的 csproj 文件中的 ... 以匹配 MonoTouch 库项目,因为这对我来说更容易:

      <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3
      -BF4B-00C04F79EFBC}</ProjectTypeGuids>
      

      【讨论】:

      猜你喜欢
      • 2011-07-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多