# ComposeOperationContext

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

Provides the parameters needed to execute a Docker Compose operation against a container runtime.

## Definition

```csharp
namespace Aspire.Hosting.Publishing;

public sealed class ComposeOperationContext
{
    // ...
}
```

## Constructors

- [ComposeOperationContext](/reference/api/csharp/aspire.hosting/composeoperationcontext/constructors.md#constructor)

## Properties

- [ComposeFilePath](/reference/api/csharp/aspire.hosting/composeoperationcontext/properties.md#composefilepath) : `string?` `get; init` -- Gets the path to the Docker Compose YAML file. When null, compose operations will use the project name only without referencing a file.
- [EnvFilePath](/reference/api/csharp/aspire.hosting/composeoperationcontext/properties.md#envfilepath) : `string?` `get; init` -- Gets the optional path to an environment file to pass to the compose operation.
- [ProjectName](/reference/api/csharp/aspire.hosting/composeoperationcontext/properties.md#projectname) : `string` `get; init` -- Gets the compose project name used for resource isolation.
- [WorkingDirectory](/reference/api/csharp/aspire.hosting/composeoperationcontext/properties.md#workingdirectory) : `string` `get; init` -- Gets the working directory for the compose process.
