无法加载nibName问题(xamarin)

时间:2017-06-26 13:45:16

标签: c# xamarin macos-sierra nib

我们开始使用Xamarin工作室为几个应用程序准备通用解决方案的项目(我们的想法是让所有应用程序使用相同的#34; Core"组件)。

我们从准备一般" 核心"具有基本功能。我们还添加" subCore" - 具有特定于每个平台(iOS,Android,Windows等)的功能的库。

目前为AndroidiOS设置了此类结构。

macOS的第二步实施过程中,我们遇到了一些阻塞点。

当我们尝试为macOS平台配置(以上述方式)结构时,会出现问题。

我能够使用应该在应用中重复使用的组件创建macOS 类库(现在这只是带有xib文件的1个类)。但是,当我想在xib目标中使用此包(内置macOS)时,会出现异常:

  

外部修改警告:附加到进程的调试器。

     

特定应用信息:   ***由于未捕获的异常终止应用程序' NSInternalInconsistencyException',原因:' - [NSNib   _initWithNibNamed:bundle:options:]无法在bundle(null)中加载nibName:MainViewController。'终止未被捕获   类型为NSException的异常abort()调用

经过一些调查后发现Mac Build server is not converting xibs into nibs,因此nib创建的包中缺少此Xamarin文件。

基于Xamarin论坛中提出的解决方案的其他测试信息:

  • 重命名,重新创建,重新定位项目中的xib文件 - 无法解决问题
  • 重新创建项目 - 无法解决问题
  • 将属性中的Build action设置为InterfaceDefinition(同时检查所有其他可能的变体) - 无法解决问题

我找到了 this post ,根本原因与我一样:

  

Mac Build服务器未将xib转换为nib。

根据对这篇文章的讨论,问题应该解决,但我仍然面临着这个问题。

有人可以建议如何修复描述的问题吗?

1 个答案:

答案 0 :(得分:0)

对于遇到同样问题的人,请安装

xamarin.ios-10.13.0.27.pkg

xamarin.mac-3.7.0.27.pkg

此版本包含针对所描述问题的修复。

有关更多信息,请访问this page