问题
I've got a working Xamarin.iOS project, using 4.1.9 (on the Alpha channel).
How do I build it from the command line (not from inside Xamarin Studio)? I tried mdtool and that produced:
james@retina:~/svox_workspace/iphone/xamphone$ mono "/Users/james/git/monodevelop/main/build/bin/mdtool.exe" build
INFO [2013-08-21 09:00:03Z]: Add-in loaded: MonoDevelop.Core
MonoDevelop Build Tool
System.DllNotFoundException: libintl.dylib
at (wrapper managed-to-native) Mono.Unix.Catalog:bindtextdomain (intptr,intptr)
at Mono.Unix.Catalog.Init (System.String package, System.String localedir) [0x00000] in <filename unknown>:0
at MonoDevelop.Core.GettextCatalog..cctor () [0x00000] in <filename unknown>:0
FATAL ERROR [2013-08-21 09:00:04Z]: System.DllNotFoundException: libintl.dylib
at (wrapper managed-to-native) Mono.Unix.Catalog:gettext (intptr)
at Mono.Unix.Catalog.GetString (System.String s) [0x00000] in <filename unknown>:0
at MonoDevelop.Core.GettextCatalog.GetString (System.String phrase, System.Object arg0) [0x00000] in <filename unknown>:0
at MonoDevelop.Projects.Formats.MSBuild.SlnFileFormat.ReadFile (System.String fileName, MonoDevelop.Projects.Formats.MSBuild.MSBuildFileFormat format, IProgressMonitor monitor) [0x00000] in <filename unknown>:0
at MonoDevelop.Projects.Formats.MSBuild.MSBuildFileFormat.ReadFile (FilePath file, System.Type expectedType, IProgressMonitor monitor) [0x00000] in <filename unknown>:0
at MonoDevelop.Projects.ProjectService.ReadFile (IProgressMonitor monitor, System.String file, System.Type expectedType, MonoDevelop.Projects.FileFormat& format) [0x00000] in <filename unknown>:0
at MonoDevelop.Projects.ProjectService.InternalReadWorkspaceItem (System.String file, IProgressMonitor monitor) [0x00000] in <filename unknown>:0
at MonoDevelop.Projects.DefaultProjectServiceExtension.LoadWorkspaceItem (IProgressMonitor monitor, System.String fileName) [0x00000] in <filename unknown>:0
at MonoDevelop.Projects.ProjectServiceExtension.LoadWorkspaceItem (IProgressMonitor monitor, System.String fileName) [0x00000] in <filename unknown>:0
at MonoDevelop.Projects.ProjectServiceExtension.LoadWorkspaceItem (IProgressMonitor monitor, System.String fileName) [0x00000] in <filename unknown>:0
at MonoDevelop.Autotools.MakefileProjectServiceExtension.LoadWorkspaceItem (IProgressMonitor monitor, System.String fileName) [0x00000] in <filename unknown>:0
at MonoDevelop.Projects.ProjectServiceExtension.LoadWorkspaceItem (IProgressMonitor monitor, System.String fileName) [0x00000] in <filename unknown>:0
at MonoDevelop.Projects.ProjectServiceExtension.LoadWorkspaceItem (IProgressMonitor monitor, System.String fileName) [0x00000] in <filename unknown>:0
at MonoDevelop.Projects.ProjectServiceExtension.LoadWorkspaceItem (IProgressMonitor monitor, System.String fileName) [0x00000] in <filename unknown>:0
at MonoDevelop.Projects.ProjectServiceExtension.LoadWorkspaceItem (IProgressMonitor monitor, System.String fileName) [0x00000] in <filename unknown>:0
at MonoDevelop.Projects.ProjectServiceExtension.LoadWorkspaceItem (IProgressMonitor monitor, System.String fileName) [0x00000] in <filename unknown>:0
at MonoDevelop.Projects.ProjectService.ReadWorkspaceItem (IProgressMonitor monitor, System.String file) [0x00000] in <filename unknown>:0
at MonoDevelop.Projects.BuildTool.Run (System.String[] arguments) [0x00000] in <filename unknown>:0
at MonoDevelop.Core.ApplicationService.StartApplication (System.String appId, System.String[] parameters) [0x00000] in <filename unknown>:0
at MonoDevelopProcessHost.Main (System.String[] args) [0x00000] in <filename unknown>:0
回答1:
Try using /Applications/Xamarin\ Studio.app/Contents/MacOS/mdtool
or /Applications/MonoDevelop.app/Contents/MacOS/mdtool
.
In other words not directly mono
on mdtool.exe
(which might miss configuration...).
来源:https://stackoverflow.com/questions/18362273/how-do-you-do-a-command-line-build-of-a-xamarin-ios-project