Компиляция приложения monotouch с использованием mdtool завершается неудачно, работает в MonoDevelop - PullRequest
10 голосов
/ 03 июня 2011

У меня есть приложение Monotouch для iPad, для которого я пытаюсь настроить скрипт автоматической сборки.Я пытаюсь использовать mdtool, но я, кажется, ударил стену.Если я создаю решение с использованием графического интерфейса MonoDevelop, оно строится успешно.Однако, если я очищу решение и соберусь с использованием mdtool, он получит исключение об исключении пустой ссылки в неизвестном файле.

Я гуглил последние пару часов.Я подумал, что нашел пару отведений здесь о переполнении стека, но все они кажутся разными ситуациями.Не так много об успешном построении в 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 провалился довольно жалко.Я хотел бы решить эту проблему, если у кого-то есть мысли.

1 Ответ

5 голосов
/ 22 июня 2011

Это ошибка, однако код конструктора генерируется, только если файл xib или проект (csproj) новее, чем файл конструктора.Создайте его один раз внутри IDE или «дотроньтесь» до файла конструктора, и mdtool снова заработает.

...