У меня есть приложение Monotouch для iPad, для которого я пытаюсь настроить сценарий автоматической сборки. Я пытаюсь использовать mdtool, но, похоже, наткнулся на стену. Если я построю решение с использованием графического интерфейса MonoDevelop, оно будет успешно построено. Однако, если я очищу решение и построю его с помощью mdtool, оно получит исключение об исключении нулевой ссылки в неизвестном файле.
Я искал в Google последние пару часов. Я думал, что нашел здесь, на Stack Overflow, пару зацепок, но все они кажутся разными ситуациями. Немногое об успешном построении пользовательского интерфейса и неудаче в интерфейсе командной строки.
Вот некоторые результаты:
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
Обновление (07.06.2011):
В качестве альтернативы попробовал сделать mdtool generate-makefiles
. Он создал все, что можно было ожидать, и ./configure
работал нормально, но make
потерпел неудачу с треском. Я бы с удовольствием решил эту проблему, если у кого-то есть мысли.