# IDistributedApplicationResourceBuilderExtensions Methods

- Package: [CommunityToolkit.Aspire.Hosting.Dapr](/reference/api/csharp/communitytoolkit.aspire.hosting.dapr.md)
- Type: [IDistributedApplicationResourceBuilderExtensions](/reference/api/csharp/communitytoolkit.aspire.hosting.dapr/idistributedapplicationresourcebuilderextensions.md)
- Kind: `Methods`
- Members: `6`

Extensions to `ApplicationModel.IResourceBuilder`1` related to Dapr.

## WithDaprSidecar(IResourceBuilder<T>, string)

- Name: `WithDaprSidecar(IResourceBuilder<T>, string)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<T>`
- Source: [GitHub](https://github.com/CommunityToolkit/Aspire/blob/30a4b632065206d447183d2baabf6dfb3678d4af/src/CommunityToolkit.Aspire.Hosting.Dapr/IDistributedApplicationComponentBuilderExtensions.cs#L23)

Ensures that a Dapr sidecar is started for the resource.

```csharp
public static class IDistributedApplicationResourceBuilderExtensions
{
    public static IResourceBuilder<T> WithDaprSidecar<T>(
        this IResourceBuilder<T> builder,
        string appId)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<T>`)
  The resource builder instance.
- `appId` (`string`)
  The ID for the application, used for service discovery.

## Returns

`IResourceBuilder<T>` -- The resource builder instance.

## WithDaprSidecar(IResourceBuilder<T>, DaprSidecarOptions?)

- Name: `WithDaprSidecar(IResourceBuilder<T>, DaprSidecarOptions?)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<T>`
- Source: [GitHub](https://github.com/CommunityToolkit/Aspire/blob/30a4b632065206d447183d2baabf6dfb3678d4af/src/CommunityToolkit.Aspire.Hosting.Dapr/IDistributedApplicationComponentBuilderExtensions.cs#L35-L42)

Ensures that a Dapr sidecar is started for the resource.

```csharp
public static class IDistributedApplicationResourceBuilderExtensions
{
    public static IResourceBuilder<T> WithDaprSidecar<T>(
        this IResourceBuilder<T> builder,
        DaprSidecarOptions? options = null)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<T>`)
  The resource builder instance.
- `options` ([DaprSidecarOptions?](/reference/api/csharp/communitytoolkit.aspire.hosting.dapr/daprsidecaroptions.md)) `optional`
  Options for configuring the Dapr sidecar, if any.

## Returns

`IResourceBuilder<T>` -- The resource builder instance.

## WithDaprSidecar(IResourceBuilder<T>, Action<IResourceBuilder<IDaprSidecarResource>>)

- Name: `WithDaprSidecar(IResourceBuilder<T>, Action<IResourceBuilder<IDaprSidecarResource>>)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<T>`
- Source: [GitHub](https://github.com/CommunityToolkit/Aspire/blob/30a4b632065206d447183d2baabf6dfb3678d4af/src/CommunityToolkit.Aspire.Hosting.Dapr/IDistributedApplicationComponentBuilderExtensions.cs#L55-L70)

Ensures that a Dapr sidecar is started for the resource.

```csharp
public static class IDistributedApplicationResourceBuilderExtensions
{
    public static IResourceBuilder<T> WithDaprSidecar<T>(
        this IResourceBuilder<T> builder,
        Action<IResourceBuilder<IDaprSidecarResource>> configureSidecar)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<T>`)
  The resource builder instance.
- `configureSidecar` (`Action<IResourceBuilder<IDaprSidecarResource>>`)
  A callback that can be use to configure the Dapr sidecar.

## Returns

`IResourceBuilder<T>` -- The resource builder instance.

## WithOptions(IResourceBuilder<IDaprSidecarResource>, DaprSidecarOptions)

- Name: `WithOptions(IResourceBuilder<IDaprSidecarResource>, DaprSidecarOptions)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<IDaprSidecarResource>`
- Source: [GitHub](https://github.com/CommunityToolkit/Aspire/blob/30a4b632065206d447183d2baabf6dfb3678d4af/src/CommunityToolkit.Aspire.Hosting.Dapr/IDistributedApplicationComponentBuilderExtensions.cs#L81)

Configures a Dapr sidecar with the specified options.

```csharp
public static class IDistributedApplicationResourceBuilderExtensions
{
    public static IResourceBuilder<IDaprSidecarResource> WithOptions(
        this IResourceBuilder<IDaprSidecarResource> builder,
        DaprSidecarOptions options)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<IDaprSidecarResource>`)
  The Dapr sidecar resource builder instance.
- `options` ([DaprSidecarOptions](/reference/api/csharp/communitytoolkit.aspire.hosting.dapr/daprsidecaroptions.md))
  Options for configuring the Dapr sidecar.

## Returns

`IResourceBuilder<IDaprSidecarResource>` -- The Dapr sidecar resource builder instance.

## WithReference(IResourceBuilder<TDestination>, IResourceBuilder<IDaprComponentResource>)

> **Obsolete:** Add reference to the sidecar resource instead of the project resource

- Name: `WithReference(IResourceBuilder<TDestination>, IResourceBuilder<IDaprComponentResource>)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<TDestination>`
- Source: [GitHub](https://github.com/CommunityToolkit/Aspire/blob/30a4b632065206d447183d2baabf6dfb3678d4af/src/CommunityToolkit.Aspire.Hosting.Dapr/IDistributedApplicationComponentBuilderExtensions.cs)

Associates a Dapr component with the Dapr sidecar started for the resource.

```csharp
public static class IDistributedApplicationResourceBuilderExtensions
{
    public static IResourceBuilder<TDestination> WithReference<TDestination>(
        this IResourceBuilder<TDestination> builder,
        IResourceBuilder<IDaprComponentResource> component)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<TDestination>`)
  The resource builder instance.
- `component` (`IResourceBuilder<IDaprComponentResource>`)
  The Dapr component to use with the sidecar.

## WithReference(IResourceBuilder<IDaprSidecarResource>, IResourceBuilder<IDaprComponentResource>)

- Name: `WithReference(IResourceBuilder<IDaprSidecarResource>, IResourceBuilder<IDaprComponentResource>)`
- Modifiers: `extension`
- Returns: `IResourceBuilder<IDaprSidecarResource>`
- Source: [GitHub](https://github.com/CommunityToolkit/Aspire/blob/30a4b632065206d447183d2baabf6dfb3678d4af/src/CommunityToolkit.Aspire.Hosting.Dapr/IDistributedApplicationComponentBuilderExtensions.cs)

Associates a Dapr component with the Dapr sidecar started for the resource.

```csharp
public static class IDistributedApplicationResourceBuilderExtensions
{
    public static IResourceBuilder<IDaprSidecarResource> WithReference(
        this IResourceBuilder<IDaprSidecarResource> builder,
        IResourceBuilder<IDaprComponentResource> component)
    {
        // ...
    }
}
```

## Parameters

- `builder` (`IResourceBuilder<IDaprSidecarResource>`)
  The resource builder instance.
- `component` (`IResourceBuilder<IDaprComponentResource>`)
  The Dapr component to use with the sidecar.
