10

我有一个 Monotouch iPad 应用程序,我正在尝试为其设置一个自动构建脚本。我正在尝试使用 mdtool,但似乎碰壁了。如果我使用 MonoDevelop GUI 构建解决方案,它会成功构建。但是,如果我清理解决方案并使用 mdtool 构建,它会在未知文件中获得关于空引用异常的异常。

在过去的几个小时里,我一直在谷歌上搜索。我以为我在 Stack Overflow 上找到了一些线索,但它们似乎都是不同的情况。没有太多关于在 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

更新(2011 年 6 月 7 日):

作为替代方案,我尝试做mdtool generate-makefiles. 它创造了人们所期望的一切,并且./configure运行正常,但make失败得很惨。如果有人有任何想法,我很乐意解决这个问题。

4

1 回答 1

5

这是一个错误,但仅当 xib 或项目 (csproj) 文件比设计器文件更新时才会生成设计器代码。在 IDE 中构建一次或“触摸”设计器文件,mdtool 将再次工作。

于 2011-06-21T21:15:30.527 回答