Method Signature Changes

These cover common use cases and are NOT an exhaustive list of method signature changes.

IProcessInvoker and ProcessInvoker

ExecuteAsync

v1 Method Signature:

Task<ProcessResult> ExecuteProcessAsync(Process process, ProcessConfiguration processConfiguration,CancellationToken cancellationToken = default);

v2 Method Signature:

Task<ProcessResult> ExecuteAsync(
    ProcessConfiguration processConfiguration,
    ProcessExitConfiguration? processExitConfiguration = null,
    bool disposeOfConfig = false,
    CancellationToken cancellationToken = default);

ExecuteBufferedAsync

v1 Method Signature:

Task<BufferedProcessResult> ExecuteBufferedProcessAsync(Process process, ProcessConfiguration processConfiguration,CancellationToken cancellationToken = default);

v2 Method Signature:

Task<BufferedProcessResult> ExecuteBufferedAsync(
    ProcessConfiguration processConfiguration,
    ProcessExitConfiguration? processExitConfiguration = null,
    bool disposeOfConfig = false,
    CancellationToken cancellationToken = default);

IFilePathResolver and FilePathResolver

ResolveFilePath

v1 Method Signature


void ResolveFilePath(string inputFilePath, out string outputFilePath);

v2 Method Signature

string ResolveFilePath(string filePathToResolve);

IArgumentsBuilder and ArgumentsBuilder

IArgumentsBuilder and ArgumentsBuilder

Method Signature Chanes:

Add Enumerable with bool

v1 Method Signature:

IArgumentsBuilder Add(IEnumerable<string> values, bool escapeSpecialChars);

v2 Method Signature:

Add Enumerable

v1 Method Signature:

IArgumentsBuilder Add(IEnumerable<string> values);

v2 Method Signature:

Add with IFormattable and IFormatProvider

v1 Method Signature:

IArgumentsBuilder Add(IFormattable value, IFormatProvider formatProvider, bool escapeSpecialChars = true);

v2 Method Signature:

IArgumentsBuilder Add(IFormattable value, IFormatProvider formatProvider, string? format = null, bool escapeSpecialChars = true);

Add Enumerable with IFormattable and IFormatProvider

v1 Method Signature:

IArgumentsBuilder Add(IEnumerable<IFormattable> values, IFormatProvider formatProvider, bool escapeSpecialChars = true);

v2 Method Signature:

IArgumentsBuilder AddEnumerable(IEnumerable<IFormattable> values, IFormatProvider formatProvider,  string? format = null, bool escapeSpecialChars = true);

Escape Characters

v1 Method Signature:

string EscapeSpecialCharacters(string argument);

v2 Method Signature:

string EscapeCharacters(string argument);

IProcessConfigurationBuilder and ProcessConfigurationBuilder

Set Arguments string

v1 Method Signature:

IProcessConfigurationBuilder WithArguments(string arguments);

v2 Method Signature:

IProcessConfigurationBuilder SetArguments(string arguments);

Set Arguments IEnumerable

v1 Method Signature:

IProcessConfigurationBuilder WithArguments(IEnumerable<string> arguments);

v2 Method Signature:

IProcessConfigurationBuilder SetArguments(IEnumerable<string> arguments);

Set Arguments IEnumerable with Argument Escaping

v1 Method Signature:

IProcessConfigurationBuilder WithArguments(IEnumerable<string> arguments, bool escapeArguments);

v2 Method Signature:

IProcessConfigurationBuilder SetArguments(IEnumerable<string> arguments, bool escapeArguments);

Set Environment Variables

v1 Method Signature:

IProcessConfigurationBuilder WithEnvironmentVariables(IReadOnlyDictionary<string, string> environmentVariables);

v2 Method Signature:

IProcessConfigurationBuilder SetEnvironmentVariables(IReadOnlyDictionary<string, string> environmentVariables);

Set Target File Path

v1 Method Signature:

IProcessConfigurationBuilder WithTargetFilePath(string targetFilePath);

v2 Method Signature:

IProcessConfigurationBuilder SetTargetFilePath(string targetFilePath);

Require Administrator Privileges

v1 Method Signature:

IProcessConfigurationBuilder WithAdministratorPrivileges(bool runAsAdministrator);

v2 Method Signature:

IProcessConfigurationBuilder RequireAdministratorPrivileges();

Set Process Resource Policy

v1 Method Signature:

IProcessConfigurationBuilder WithProcessResourcePolicy(ProcessResourcePolicy processResourcePolicy);

v2 Method Signature:

IProcessConfigurationBuilder SetProcessResourcePolicy(ProcessResourcePolicy processResourcePolicy);

Set User Credential

v1 Method Signature:

IProcessConfigurationBuilder WithUserCredential(UserCredential credentials);

v2 Method Signature:

IProcessConfigurationBuilder SetUserCredential(UserCredential credentials);

Set User Credential with Action

v1 Method Signature:

IProcessConfigurationBuilder WithUserCredential(Action<IUserCredentialBuilder> configure);

v2 Method Signature:

IProcessConfigurationBuilder SetUserCredential(Action<IUserCredentialBuilder> configure);

Set Standard Input Pipe

v1 Method Signature:

IProcessConfigurationBuilder WithStandardInputPipe(StreamWriter source);

v2 Method Signature:

IProcessConfigurationBuilder SetStandardInputPipe(StreamWriter source);

Set Standard Output Pipe

v1 Method Signature:

IProcessConfigurationBuilder WithStandardOutputPipe(StreamReader target);

v2 Method Signature:

IProcessConfigurationBuilder SetStandardOutputPipe(StreamReader target);

Set Standard Error Pipe

v1 Method Signature:

IProcessConfigurationBuilder WithStandardErrorPipe(StreamReader target);

v2 Method Signature:

IProcessConfigurationBuilder SetStandardErrorPipe(StreamReader target);

Configure Shell Execution

v1 Method Signature:

    IProcessConfigurationBuilder WithShellExecution(bool useShellExecution);

v2 Method Signature:

IProcessConfigurationBuilder ConfigureShellExecution(bool useShellExecution);

Configure Window Creation

v1 Method Signature:

    IProcessConfigurationBuilder WithWindowCreation(bool enableWindowCreation);

v2 Method Signature:

IProcessConfigurationBuilder ConfigureWindowCreation(bool enableWindowCreation);

IEnvironmentVariablesBuilder and EnvironmentVariablesBuilder

Set string pair

v1 Method Signature:

IEnvironmentVariablesBuilder Set(string name, string value);

v2 Method Signature:

IEnvironmentVariablesBuilder SetPair(string name, string value);

Set variables from Enumerable

v1 Method Signature:

IEnvironmentVariablesBuilder Set(IEnumerable<KeyValuePair<string, string>> variables);

v2 Method Signature:

IEnvironmentVariablesBuilder SetEnumerable(IEnumerable<KeyValuePair<string, string>> variables);

Set variables from IReadOnlyDictionary<string, string>

v1 Method Signature:

IEnvironmentVariablesBuilder Set(IReadOnlyDictionary<string, string> variables);

v2 Method Signature:

IEnvironmentVariablesBuilder SetReadOnlyDictionary(IReadOnlyDictionary<string, string> variables);

IProcessResourcePolicyBuilder and ProcessResourcePolicyBuilder

Setting Processor Affinity

v1 Method Signature:

IProcessResourcePolicyBuilder WithProcessorAffinity(nint processorAffinity);

v2 Method Signature:

IProcessResourcePolicyBuilder SetProcessorAffinity(nint processorAffinity);

Setting Minimum Working Set

v1 Method Signature:

IProcessResourcePolicyBuilder WithMinWorkingSet(nint minWorkingSet);

v2 Method Signature:

IProcessResourcePolicyBuilder SetMinWorkingSet(nint minWorkingSet);

Setting Maximum Working Set

v1 Method Signature:

IProcessResourcePolicyBuilder WithMaxWorkingSet(nint maxWorkingSet);

v2 Method Signature:

IProcessResourcePolicyBuilder SetMaxWorkingSet(nint maxWorkingSet);

Setting Priority Class

v1 Method Signature:

IProcessResourcePolicyBuilder WithPriorityClass(ProcessPriorityClass processPriorityClass);

v2 Method Signature:

IProcessResourcePolicyBuilder SetPriorityClass(ProcessPriorityClass processPriorityClass);

Setting Priority Boost

v1 Method Signature:

IProcessResourcePolicyBuilder WithPriorityBoost(bool enablePriorityBoost);

v2 Method Signature:

IProcessResourcePolicyBuilder ConfigurePriorityBoost(bool enablePriorityBoost);

IProcessPipeHandler and ProcessPipeHandler

PipeStandardInputAsync

v1 Method Signature:

Task PipeStandardInputAsync(Stream source, Process destination);

v2 Method Signature:

Task<bool> PipeStandardInputAsync(Stream source, Process destination);

PipeStandardOutputAsync

v1 Method Signaturen```csharp Task PipeStandardOutputAsync(Process source, Stream destination);


**v2 Method Signature**:
```csharp
Task<Stream> PipeStandardOutputAsync(Process source);

PipeStandardErrorAsync

v1 Method Signature:

Task PipeStandardErrorAsync(Process source, Stream destination);

v2 Method Signature:

Task<Stream> PipeStandardErrorAsync(Process source);