/// <summary> /// Execute an assembly using arguments and settings. /// </summary> /// <param name="assemblyPath">The assembly path.</param> /// <param name="arguments">The arguments.</param> /// <param name="settings">The settings.</param> public void Execute(FilePath assemblyPath, ProcessArgumentBuilder arguments, DotNetExecuteSettings settings) { if (assemblyPath == null) { throw new ArgumentNullException(nameof(assemblyPath)); } if (settings == null) { throw new ArgumentNullException(nameof(settings)); } RunCommand(settings, GetArguments(assemblyPath, arguments, settings)); }
private ProcessArgumentBuilder GetArguments(FilePath assemblyPath, ProcessArgumentBuilder arguments, DotNetExecuteSettings settings) { var builder = CreateArgumentBuilder(settings); if (!string.IsNullOrWhiteSpace(settings.FrameworkVersion)) { builder.Append("--fx-version"); builder.Append(settings.FrameworkVersion); } builder.AppendQuoted(assemblyPath.MakeAbsolute(_environment).FullPath); if (!arguments.IsNullOrEmpty()) { arguments.CopyTo(builder); } return(builder); }