# ComposeOperationContext Properties

- Package: [Aspire.Hosting](/reference/api/csharp/aspire.hosting.md)
- Type: [ComposeOperationContext](/reference/api/csharp/aspire.hosting/composeoperationcontext.md)
- Kind: `Properties`
- Members: `4`

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

## ComposeFilePath

- Name: `ComposeFilePath`
- Modifiers: `nullable` `get; init`
- Returns: `string?`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/bd20f904cde09ecb9c9ae5116a6f13614bf2d7c2/src/Aspire.Hosting/Publishing/ComposeOperationContext.cs)

Gets the path to the Docker Compose YAML file. When null, compose operations will use the project name only without referencing a file.

```csharp
public string? ComposeFilePath { get; init; }
```

## EnvFilePath

- Name: `EnvFilePath`
- Modifiers: `nullable` `get; init`
- Returns: `string?`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/bd20f904cde09ecb9c9ae5116a6f13614bf2d7c2/src/Aspire.Hosting/Publishing/ComposeOperationContext.cs)

Gets the optional path to an environment file to pass to the compose operation.

```csharp
public string? EnvFilePath { get; init; }
```

## ProjectName

- Name: `ProjectName`
- Modifiers: `get; init`
- Returns: `string`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/bd20f904cde09ecb9c9ae5116a6f13614bf2d7c2/src/Aspire.Hosting/Publishing/ComposeOperationContext.cs)

Gets the compose project name used for resource isolation.

```csharp
public string ProjectName { get; init; }
```

## WorkingDirectory

- Name: `WorkingDirectory`
- Modifiers: `get; init`
- Returns: `string`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/bd20f904cde09ecb9c9ae5116a6f13614bf2d7c2/src/Aspire.Hosting/Publishing/ComposeOperationContext.cs)

Gets the working directory for the compose process.

```csharp
public string WorkingDirectory { get; init; }
```
