protected override void BuildProject(string projectLocation, string configuration, string targetFramework, string publishOptions, string publishLocation)
        {
            this.EnsureInProjectDirectory();

            var dotnetCli = new LambdaDotNetCLIWrapper(this.Logger, projectLocation);

            this.Logger?.WriteLine("Executing publish command");
            if (dotnetCli.Publish(this.DefaultConfig, projectLocation, publishLocation, targetFramework, configuration, publishOptions, null) != 0)
            {
                throw new ToolsException("Error executing \"dotnet publish\"", ToolsException.CommonErrorCode.DotnetPublishFailed);
            }
        }
        protected override void BuildProject(string projectLocation, string configuration, string targetFramework, string publishOptions, string publishLocation)
        {
            this.EnsureInProjectDirectory();

            var architecture = this.GetStringValueOrDefault(this.Architecture, LambdaDefinedCommandOptions.ARGUMENT_FUNCTION_ARCHITECTURE, false);

            var dotnetCli = new LambdaDotNetCLIWrapper(this.Logger, projectLocation);

            this.Logger?.WriteLine("Executing publish command");
            if (dotnetCli.Publish(defaults: this.DefaultConfig,
                                  projectLocation: projectLocation,
                                  outputLocation: publishLocation,
                                  targetFramework: targetFramework,
                                  configuration: configuration,
                                  msbuildParameters: publishOptions,
                                  architecture: architecture,
                                  publishManifests: null) != 0)
            {
                throw new ToolsException("Error executing \"dotnet publish\"", ToolsException.CommonErrorCode.DotnetPublishFailed);
            }
        }