# ProjectLaunchArgsOverrideAnnotation Constructors

- Package: [Aspire.Hosting](/reference/api/csharp/aspire.hosting.md)
- Type: [ProjectLaunchArgsOverrideAnnotation](/reference/api/csharp/aspire.hosting/projectlaunchargsoverrideannotation.md)
- Kind: `Constructors`
- Members: `1`

Represents an annotation that overrides the default project launch arguments generated by DCP for a [ProjectResource](/reference/api/csharp/aspire.hosting/projectresource.md).

<a id="constructor"></a>
<a id="constructor-ireadonlylist-string-string"></a>

## ProjectLaunchArgsOverrideAnnotation(IReadOnlyList<string>, string?)

- Name: `Constructor(IReadOnlyList<string>, string?)`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/b5f143315ffb6968ea939a9978797a5b20e4c688/src/Aspire.Hosting/ApplicationModel/ProjectLaunchArgsOverrideAnnotation.cs#L37-L47)

Represents an annotation that overrides the default project launch arguments generated by DCP for a [ProjectResource](/reference/api/csharp/aspire.hosting/projectresource.md).

```csharp
public sealed class ProjectLaunchArgsOverrideAnnotation
{
    public ProjectLaunchArgsOverrideAnnotation(
        IReadOnlyList<string> arguments,
        string? leadingResourceArgumentToRemove = null)
    {
        // ...
    }
}
```

## Parameters

- `arguments` (`IReadOnlyList<string>`)
  The custom launch arguments to use instead of the default project launch arguments.
- `leadingResourceArgumentToRemove` (`string?`) `optional`
  The optional first resource argument to omit from the final launch arguments when it is already represented by `arguments`.

## Remarks

When this annotation is present on a [ProjectResource](/reference/api/csharp/aspire.hosting/projectresource.md), DCP will use the provided arguments as the base command (e.g., `build /t:Run`) instead of the default `run` verb. DCP still appends the project path positionally and appends `--configuration` automatically; only the verb and its options are overridden. This annotation is intended for verbs like `build` that accept the project path as a positional argument. The `--no-launch-profile` flag is omitted when this annotation is present.

A non-empty launch-tool argument callback replaces this base command. If the callback resolves no arguments, this override remains the Process command.

## Examples

Override DCP's default launch to use dotnet build /t:Run:

```csharp
builder.WithAnnotation(new ProjectLaunchArgsOverrideAnnotation(["build", "/t:Run"]));
```
