# ProjectResourceBuilderExtensions

- Kind: `class`
- Package: [Aspire.Hosting](/reference/api/csharp/aspire.hosting.md)
- Version: `13.3.0`
- Namespace: `Aspire.Hosting`
- Target framework: `net8.0`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/bd20f904cde09ecb9c9ae5116a6f13614bf2d7c2/src/Aspire.Hosting/ProjectResourceBuilderExtensions.cs)

Provides extension methods for [IDistributedApplicationBuilder](/reference/api/csharp/aspire.hosting/idistributedapplicationbuilder.md) to add and configure project resources.

## Definition

```csharp
namespace Aspire.Hosting;

public static class ProjectResourceBuilderExtensions
{
    // ...
}
```

## Methods

- [AddCSharpApp(IDistributedApplicationBuilder, string, string)](/reference/api/csharp/aspire.hosting/projectresourcebuilderextensions/methods.md#addcsharpapp-idistributedapplicationbuilder-string-string) : `IResourceBuilder<ProjectResource>` `extension` `experimental` `ats ignored` -- Adds a C# project or file-based app to the application model.
- [AddCSharpApp(IDistributedApplicationBuilder, string, string, Action<ProjectResourceOptions>)](/reference/api/csharp/aspire.hosting/projectresourcebuilderextensions/methods.md#addcsharpapp-idistributedapplicationbuilder-string-string-action-projectresourceoptions) : `IResourceBuilder<CSharpAppResource>` `extension` `experimental` `ats ignored` -- Adds a C# project or file-based app to the application model.
- [AddProject(IDistributedApplicationBuilder, string)](/reference/api/csharp/aspire.hosting/projectresourcebuilderextensions/methods.md#addproject-idistributedapplicationbuilder-string) : `IResourceBuilder<ProjectResource>` `extension` `ats ignored` -- Adds a .NET project to the application model.
- [AddProject(IDistributedApplicationBuilder, string, string)](/reference/api/csharp/aspire.hosting/projectresourcebuilderextensions/methods.md#addproject-idistributedapplicationbuilder-string-string) : `IResourceBuilder<ProjectResource>` `extension` `ats ignored` -- Adds a .NET project to the application model.
- [AddProject(IDistributedApplicationBuilder, string, string?)](/reference/api/csharp/aspire.hosting/projectresourcebuilderextensions/methods.md#addproject-idistributedapplicationbuilder-string-string) : `IResourceBuilder<ProjectResource>` `extension` `ats ignored` -- Adds a .NET project to the application model. By default, this will exist in a Projects namespace. e.g. Projects.MyProject. If the project is not in a Projects namespace, make sure a project reference is added from the AppHost project to the target project.
- [AddProject(IDistributedApplicationBuilder, string, string, string?)](/reference/api/csharp/aspire.hosting/projectresourcebuilderextensions/methods.md#addproject-idistributedapplicationbuilder-string-string-string) : `IResourceBuilder<ProjectResource>` `extension` `ats ignored` -- Adds a .NET project to the application model.
- [AddProject(IDistributedApplicationBuilder, string, Action<ProjectResourceOptions>)](/reference/api/csharp/aspire.hosting/projectresourcebuilderextensions/methods.md#addproject-idistributedapplicationbuilder-string-action-projectresourceoptions) : `IResourceBuilder<ProjectResource>` `extension` `ats ignored` -- Adds a .NET project to the application model.
- [AddProject(IDistributedApplicationBuilder, string, string, Action<ProjectResourceOptions>)](/reference/api/csharp/aspire.hosting/projectresourcebuilderextensions/methods.md#addproject-idistributedapplicationbuilder-string-string-action-projectresourceoptions) : `IResourceBuilder<ProjectResource>` `extension` `ats ignored` -- Adds a .NET project to the application model.
- [DisableForwardedHeaders(IResourceBuilder<ProjectResource>)](/reference/api/csharp/aspire.hosting/projectresourcebuilderextensions/methods.md#disableforwardedheaders-iresourcebuilder-projectresource) : `IResourceBuilder<ProjectResource>` `extension` `ats export` -- Configures the project to disable forwarded headers when being published.
- [PublishAsDockerFile(IResourceBuilder<T>, Action<IResourceBuilder<ContainerResource>>)](/reference/api/csharp/aspire.hosting/projectresourcebuilderextensions/methods.md#publishasdockerfile-iresourcebuilder-t-action-iresourcebuilder-containerresource) : [IResourceBuilder<T>](/reference/api/csharp/aspire.hosting/iresourcebuilder-1.md) `extension` `ats export` -- Adds support for containerizing this [ProjectResource](/reference/api/csharp/aspire.hosting/projectresource.md) during deployment. The resulting container image is built, and when the optional `configure` action is provided, it is used to configure the container resource.
- [WithEndpointsInEnvironment(IResourceBuilder<ProjectResource>, Func<EndpointAnnotation, bool>)](/reference/api/csharp/aspire.hosting/projectresourcebuilderextensions/methods.md#withendpointsinenvironment-iresourcebuilder-projectresource-func-endpointannotation-bool) : `IResourceBuilder<ProjectResource>` `extension` `ats ignored` -- Set a filter that determines if environment variables are injected for a given endpoint. By default, all endpoints are included (if this method is not called).
- [WithReplicas(IResourceBuilder<ProjectResource>, int)](/reference/api/csharp/aspire.hosting/projectresourcebuilderextensions/methods.md#withreplicas-iresourcebuilder-projectresource-int) : `IResourceBuilder<ProjectResource>` `extension` `ats export` -- Configures how many replicas of the project should be created for the project.
