Skip to content
DocsTry Aspire
DocsTry

RequiredCommandResourceExtensions Methods

ClassMethods2 members
Provides extension methods for adding required command annotations to resources.
WithRequiredCommand(IResourceBuilder<T>, string, string?)Section titled WithRequiredCommand(IResourceBuilder<T>, string, string?)extensionIResourceBuilder<T>
Declares that a resource requires a specific command/executable to be available on the local machine PATH before it can start.
public static class RequiredCommandResourceExtensions
{
public static IResourceBuilder<T> WithRequiredCommand<T>(
this IResourceBuilder<T> builder,
string command,
string? helpLink = null)
{
// ...
}
}
builderIResourceBuilder<T>The resource builder.
commandstringThe command string (file name or path) that should be validated.
helpLinkstring?optionalAn optional help link URL to guide users when the command is missing.
IResourceBuilder<T>The resource builder.
The command is considered valid if either: 1. It is an absolute or relative path (contains a directory separator) that points to an existing file, or 2. It is discoverable on the current process PATH (respecting PATHEXT on Windows). If the command is not found, a warning message will be logged but the resource will be allowed to attempt to start.
WithRequiredCommand(IResourceBuilder<T>, string, Func<RequiredCommandValidationContext, Task<RequiredCommandValidationResult>>, string?)Section titled WithRequiredCommand(IResourceBuilder<T>, string, Func<RequiredCommandValidationContext, Task<RequiredCommandValidationResult>>, string?)extensionIResourceBuilder<T>
Declares that a resource requires a specific command/executable to be available on the local machine PATH before it can start, with custom validation logic.
public static class RequiredCommandResourceExtensions
{
public static IResourceBuilder<T> WithRequiredCommand<T>(
this IResourceBuilder<T> builder,
string command,
Func<RequiredCommandValidationContext, Task<RequiredCommandValidationResult>> validationCallback,
string? helpLink = null)
{
// ...
}
}
builderIResourceBuilder<T>The resource builder.
commandstringThe command string (file name or path) that should be validated.
validationCallbackFunc<RequiredCommandValidationContext, Task<RequiredCommandValidationResult>>A callback that validates the resolved command path. Receives a RequiredCommandValidationContext and returns a RequiredCommandValidationResult.
helpLinkstring?optionalAn optional help link URL to guide users when the command is missing or fails validation.
IResourceBuilder<T>The resource builder.

This method is not available in polyglot app hosts. Use the overload without validation callback instead.

The command is first resolved to a full path. If found, the validation callback is invoked with the context containing the resolved path and service provider. The callback should return a RequiredCommandValidationResult indicating whether the command is valid. If the command is not found or fails validation, a warning message will be logged but the resource will be allowed to attempt to start.