我有一个Monotouch iPad应用程序,我正试图为其设置一个自动构建脚本。我正在尝试使用mdtool,但我好像撞到了墙。如果我使用MonoDevelop GUI构建解决方案,它就会成功构建。但是,如果我清理该解决方案,并使用mdtool进行构建,它将得到一个关于未知文件中的空引用异常的异常。
我搜索了几个小时。我想我在Stack溢出上找到了几条线索,但它们似乎都是不同的情况。对于UI中的成功构建和CLI上的失败并不多见。
以下是一些输出:
Performing main compilation...
Updating CodeBehind files
ERROR [2011-06-03 11:27:52Z]: Error generating code for xib file '/Users/Me/Documents/Code/MyApp/MainWindow.xib'
System.NullReferenceException: Object reference not set to an instance of an object at MonoDevelop.DesignerSupport.CodeBehindWriter.<get_OpenFiles>m__21 () [0x00000] in <filename unknown>:0
at MonoDevelop.Ide.DispatchService.GuiSyncDispatch (MonoDevelop.Ide.MessageHandler cb) [0x00000] in <filename unknown>:0
at MonoDevelop.DesignerSupport.CodeBehindWriter.get_OpenFiles () [0x00000] in <filename unknown>:0
at MonoDevelop.DesignerSupport.CodeBehindWriter.Write (System.CodeDom.CodeCompileUnit ccu, FilePath path) [0x00000] in <filename unknown>:0
at MonoDevelop.MacDev.XibCodeBehind.GenerateDesignerCode (MonoDevelop.DesignerSupport.CodeBehindWriter writer, MonoDevelop.Projects.ProjectFile xibFile, MonoDevelop.Projects.ProjectFile designerFile) [0x00000] in <filename unknown>:0
at MonoDevelop.MacDev.MacBuildUtilities.UpdateCodeBehind (IProgressMonitor monitor, MonoDevelop.MacDev.XibCodeBehind generator, IEnumerable`1 items) [0x00000] in <filename unknown>:0 我正在执行的命令如下所示:
/Applications/MonoDevelop.app/Contents/MacOS/mdtool -v build "--configuration:Release|iPhone" "/Users/Me/Documents/Code/MyApp/MyApp.sln" 为了让它更彻底,以下是我的版本:
OS X: 10.6.7
XCode: 3.2.6
iOS SDK: 4.3
Mono: 2.10.2
MonoDevelop: 2.4.2
MonoTouch: 4.0.3更新(6/7/2011):
作为另一种选择,我尝试了做mdtool generate-makefiles。它创造了人们所期望的一切,./configure运行正常,但make失败得很惨。如果有人有任何想法的话,我很乐意解决这个问题。
发布于 2011-06-21 21:15:30
这是一个bug,但是,只有当xib或项目(csproj)文件比设计器文件更新时,才会生成设计器代码。一旦在IDE中构建它,或者“触摸”设计器文件,mdtool就会再次工作。
https://stackoverflow.com/questions/6229927
复制相似问题