/// <summary> /// Creates the execution command. /// </summary> /// <param name = "configSel">The configuration selector.</param> /// <param name = "configuration">The configuration.</param> /// <returns>The execution command.</returns> protected override ExecutionCommand CreateExecutionCommand (ConfigurationSelector configSel, DotNetProjectConfiguration configuration) { if (this.CompileTarget != CompileTarget.Exe) { return base.CreateExecutionCommand (configSel, configuration); } if (this.projectType == MonobjcProjectType.None) { return base.CreateExecutionCommand (configSel, configuration); } // Infer application name from configuration MonobjcProjectConfiguration conf = (MonobjcProjectConfiguration)configuration; String applicationName = this.GetApplicationName (configSel); conf.ApplicationName = applicationName; switch (this.ApplicationType) { case MonobjcProjectType.CocoaApplication: { // Create the bundle maker to get the path to the runtime BundleMaker maker = new BundleMaker (applicationName, conf.OutputDirectory); conf.Runtime = maker.Runtime; } break; case MonobjcProjectType.ConsoleApplication: { // Build the command line conf.Runtime = FileProvider.GetPath (this.TargetOSVersion, "runtime"); conf.CommandLineParameters = this.GetOutputFileName (configSel); } break; default: throw new NotSupportedException ("Unsupported application type " + this.ApplicationType); } // Create the command MonobjcExecutionCommand command = new MonobjcExecutionCommand (conf); command.UserAssemblyPaths = this.GetUserAssemblyPaths (configSel); return command; }
/// <summary> /// Initializes a new instance of the <see cref = "MonobjcDebuggerStartInfo" /> class. /// </summary> /// <param name = "command">The CMD.</param> public MonobjcDebuggerStartInfo(MonobjcExecutionCommand command) : base(new SoftDebuggerListenArgs (command.ApplicationName, IPAddress.Loopback, 0)) { this.ExecutionCommand = command; }
public MonobjcDebuggerStartInfo(IPAddress address, int debugPort, MonobjcExecutionCommand cmd) : base(cmd.AppName, address, debugPort) { ExecutionCommand = cmd; }
protected override ExecutionCommand CreateExecutionCommand(ConfigurationSelector configSel, DotNetProjectConfiguration configuration) { var conf = (MonobjcProjectConfiguration)configuration; string bundleName = Path.GetFileNameWithoutExtension(conf.CompiledOutputName); var cmd = new MonobjcExecutionCommand(conf.AppDirectory, bundleName, conf.CommandLineParameters, conf.EnvironmentVariables, conf.DebugMode); // FIXME: Should this be the assembly inside the .app instead? cmd.UserAssemblyPaths = GetUserAssemblyPaths(configSel); return cmd; }