Table of Contents

Class SdkAppCommandLineArgs

Namespace
RDCore.SDK.Server.Configuration
Assembly
RDCore.SDK.dll

Configuration settings overridden from command-line arguments.

public record SdkAppCommandLineArgs : IEquatable<SdkAppCommandLineArgs>
Inheritance
SdkAppCommandLineArgs
Implements
Inherited Members

Remarks

Regroups all command-line arguments in one place, sorted by alias / short name.

Properties

ClientProcessId

A command-line argument that provides the ClientProcessId owner process ID to a server app.

[Option('p', "client-process-id")]
public int? ClientProcessId { get; set; }

Property Value

int?

Remarks

👉 This argument is required for starting a server app.

ConnectTimeoutSeconds

A command-line argument that overrides the ConnectTimeoutSeconds setting.

[Option('c', "connect-timeout")]
public int? ConnectTimeoutSeconds { get; set; }

Property Value

int?

DefaultLocation

A command-line argument that overrides the DefaultLocation setting.

[Option('d', "default-workspace")]
public string? DefaultLocation { get; set; }

Property Value

string

Define

Repeatable command-line argument defining or overriding a project-level precompiler constant, in NAME=VALUE form (e.g. --define RDDEBUG=1). Overrides the .rdproj and the built-in host constants.

[Option('D', "define")]
public IEnumerable<string>? Define { get; set; }

Property Value

IEnumerable<string>

HealthCheckIntervalSeconds

A command-line argument that overrides the HealthCheckIntervalSeconds setting.

[Option('k', "healthcheck-interval")]
public int? HealthCheckIntervalSeconds { get; set; }

Property Value

int?

Help

A command-line argument that overrides the application startup sequence and outputs command-line arguments documentation instead.

[Option('h', "help")]
public bool? Help { get; set; }

Property Value

bool?

PipeName

A command-line argument that overrides the PipeName setting.

[Option('n', "pipe-name")]
public string? PipeName { get; set; }

Property Value

string

ShutdownTimeoutSeconds

A command-line argument that overrides the ShutdownTimeoutSeconds setting.

[Option('s', "shutdown-timeout")]
public int? ShutdownTimeoutSeconds { get; set; }

Property Value

int?

TraceLevel

A command-line argument that overrides the TraceLevel setting.

[Option('t', "trace-level")]
public LogLevel? TraceLevel { get; set; }

Property Value

LogLevel?

Type

A command-line argument that overrides the Type setting.

[Option('m', "transport-mode")]
public ServerTransportLayerMode? Type { get; set; }

Property Value

ServerTransportLayerMode?

UnsafeDevMode

A command-line switch that overrides the TraceLevel setting.

[Option("unsafe-dev-mode", Hidden = true)]
public bool? UnsafeDevMode { get; set; }

Property Value

bool?

Remarks

👉 This switch has no alias and does not appear in help documentation.

Verbose

A command-line argument that overrides the Verbose setting.

[Option('v', "verbose")]
public bool? Verbose { get; set; }

Property Value

bool?

WorkspaceUri

A command-line argument that overrides the WorkspaceUri setting.

[Option('w', "workspace")]
public string? WorkspaceUri { get; set; }

Property Value

string

Remarks

👉 This argument is required for starting a language server app.

Methods

PrecompilerConstantOverrides()

The --define arguments parsed into a NAME → VALUE map (case-insensitive; the last value wins). Malformed entries are ignored.

public IReadOnlyDictionary<string, string> PrecompilerConstantOverrides()

Returns

IReadOnlyDictionary<string, string>

ToConfigurationOverrides()

Projects the supplied arguments onto IConfiguration keys.

public IEnumerable<KeyValuePair<string, string?>> ToConfigurationOverrides()

Returns

IEnumerable<KeyValuePair<string, string>>

Remarks

Options that were not supplied are omitted, so appsettings.json values are preserved.