# DistributedApplicationBuilder Constructors

- Package: [Aspire.Hosting](/reference/api/csharp/aspire.hosting.md)
- Type: [DistributedApplicationBuilder](/reference/api/csharp/aspire.hosting/distributedapplicationbuilder.md)
- Kind: `Constructors`
- Members: `2`

A builder for creating instances of [DistributedApplication](/reference/api/csharp/aspire.hosting/distributedapplication.md).

## DistributedApplicationBuilder(string[])

- Name: `Constructor(string[])`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/aad16017893bd769e0634c47fb007f1454735f11/src/Aspire.Hosting/DistributedApplicationBuilder.cs#L121-L124)

Initializes a new instance of the [DistributedApplicationBuilder](/reference/api/csharp/aspire.hosting/distributedapplicationbuilder.md) class with the specified options.

```csharp
public class DistributedApplicationBuilder
{
    public DistributedApplicationBuilder(
        string[] args)
    {
        // ...
    }
}
```

## Parameters

- `args` (`string[]`)
  The arguments provided to the builder.

## Remarks

Developers will not typically construct an instance of the [DistributedApplicationBuilder](/reference/api/csharp/aspire.hosting/distributedapplicationbuilder.md) class themselves and will instead use the [DistributedApplication.CreateBuilder](/reference/api/csharp/aspire.hosting/distributedapplication/methods.md#createbuilder). This constructor is public to allow for some testing around extensibility scenarios.

## DistributedApplicationBuilder(DistributedApplicationOptions)

- Name: `Constructor(DistributedApplicationOptions)`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/aad16017893bd769e0634c47fb007f1454735f11/src/Aspire.Hosting/DistributedApplicationBuilder.cs#L96-L579)

Initializes a new instance of the [DistributedApplicationBuilder](/reference/api/csharp/aspire.hosting/distributedapplicationbuilder.md) class with the specified options.

```csharp
public class DistributedApplicationBuilder
{
    public DistributedApplicationBuilder(
        DistributedApplicationOptions options)
    {
        // ...
    }
}
```

## Parameters

- `options` ([DistributedApplicationOptions](/reference/api/csharp/aspire.hosting/distributedapplicationoptions.md))
  The options for the distributed application.

## Remarks

Developers will not typically construct an instance of the [DistributedApplicationBuilder](/reference/api/csharp/aspire.hosting/distributedapplicationbuilder.md) class themselves and will instead use the [DistributedApplication.CreateBuilder](/reference/api/csharp/aspire.hosting/distributedapplication/methods.md#createbuilder). This constructor is public to allow for some testing around extensibility scenarios.

This constructor generates an instance of the [IDistributedApplicationBuilder](/reference/api/csharp/aspire.hosting/idistributedapplicationbuilder.md) interface which is very similar to the instance that is returned from [DistributedApplication.CreateBuilder](/reference/api/csharp/aspire.hosting/distributedapplication/methods.md#createbuilder) however it is not guaranteed to be 100% consistent. For typical usage it is recommended that the [DistributedApplication.CreateBuilder](/reference/api/csharp/aspire.hosting/distributedapplication/methods.md#createbuilder) method is to create instances of the [IDistributedApplicationBuilder](/reference/api/csharp/aspire.hosting/idistributedapplicationbuilder.md) interface.
