> ## Documentation Index
> Fetch the complete documentation index at: https://dotnetdocs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# AssemblyManager

> Manages assembly metadata extraction using Roslyn for API documentation generation.

## Definition

**Assembly:** CloudNimble.DotNetDocs.Core.dll

**Namespace:** CloudNimble.DotNetDocs.Core

**Inheritance:** System.Object

## Syntax

```csharp theme={"dark"}
CloudNimble.DotNetDocs.Core.AssemblyManager
```

## Summary

Manages assembly metadata extraction using Roslyn for API documentation generation.

## Remarks

Extracts metadata from a single .NET assembly and its XML documentation file, building an in-memory model
([DocAssembly](/api-reference/CloudNimble/DotNetDocs/Core/DocAssembly)) with interconnected types, members, and parameters. Supports conceptual content
loading from a specified folder. Designed for multi-targeting .NET 10.0, 9.0, and 8.0. One instance per assembly
is required, with paths specified at construction for incremental build support. Implements [IDisposable](https://learn.microsoft.com/dotnet/api/system.idisposable)
to release memory used by the compilation and model.

## Examples

```csharp theme={"dark"}
using var manager = new AssemblyManager("MyLib.dll", "MyLib.xml");
var context = new ProjectContext("ref1.dll", "ref2.dll") { ConceptualPath = "conceptual" };
var model = await manager.DocumentAsync(context);
```

## Constructors

### <Icon icon="hammer" iconType="duotone" color="#419AC5" size={24} className="mr-2" /> .ctor

Initializes a new instance of [AssemblyManager](/api-reference/CloudNimble/DotNetDocs/Core/AssemblyManager) for a specific assembly.

#### Syntax

```csharp theme={"dark"}
public AssemblyManager(string assemblyPath, string xmlPath)
```

#### Parameters

| Name           | Type     | Description                         |
| -------------- | -------- | ----------------------------------- |
| `assemblyPath` | `string` | Path to the assembly DLL file.      |
| `xmlPath`      | `string` | Path to the XML documentation file. |

#### Exceptions

| Exception               | Description                                                     |
| ----------------------- | --------------------------------------------------------------- |
| `ArgumentNullException` | Thrown when *assemblyPath* or *xmlPath* is null.                |
| `ArgumentException`     | Thrown when *assemblyPath* or *xmlPath* is empty or whitespace. |
| `FileNotFoundException` | Thrown when *assemblyPath* does not exist.                      |

#### Remarks

If the XML documentation file does not exist, processing will continue without XML documentation.
A warning will be added to the Errors collection.

### <Icon icon="hammer" iconType="duotone" color="#419AC5" size={24} className="mr-2" /> .ctor <Badge color="gray">Inherited</Badge>

<Note>Inherited from `object`</Note>

#### Syntax

```csharp theme={"dark"}
public Object()
```

## Properties

### <Icon icon="tag" iconType="duotone" color="#419AC5" size={24} className="mr-2" /> AssemblyName

Gets the name of the assembly (without extension).

#### Syntax

```csharp theme={"dark"}
public string AssemblyName { get; init; }
```

#### Property Value

Type: `string`

### <Icon icon="tag" iconType="duotone" color="#419AC5" size={24} className="mr-2" /> AssemblyPath

Gets the path to the assembly DLL file.

#### Syntax

```csharp theme={"dark"}
public string AssemblyPath { get; init; }
```

#### Property Value

Type: `string`

### <Icon icon="tag" iconType="duotone" color="#419AC5" size={24} className="mr-2" /> Document

Gets the current documentation model for the processed assembly.

#### Syntax

```csharp theme={"dark"}
public CloudNimble.DotNetDocs.Core.DocAssembly Document { get; private set; }
```

#### Property Value

Type: `CloudNimble.DotNetDocs.Core.DocAssembly?`

### <Icon icon="tag" iconType="duotone" color="#419AC5" size={24} className="mr-2" /> Errors

Gets the collection of errors that occurred during Since  processing.

#### Syntax

```csharp theme={"dark"}
public System.Collections.Generic.List<System.CodeDom.Compiler.CompilerError> Errors { get; }
```

#### Property Value

Type: `System.Collections.Generic.List<System.CodeDom.Compiler.CompilerError>`

#### Remarks

Includes warnings about inaccessible internal members when requested but not available.

### <Icon icon="tag" iconType="duotone" color="#419AC5" size={24} className="mr-2" /> LastModified

Gets the last modified timestamp of the assembly file for incremental builds.

#### Syntax

```csharp theme={"dark"}
public System.DateTime LastModified { get; private set; }
```

#### Property Value

Type: `System.DateTime`

### <Icon icon="tag" iconType="duotone" color="#419AC5" size={24} className="mr-2" /> XmlPath

Gets the path to the XML documentation file.

#### Syntax

```csharp theme={"dark"}
public string XmlPath { get; init; }
```

#### Property Value

Type: `string?`

#### Remarks

May be null if no XML documentation file is available.

## Methods

### <Icon icon="function" iconType="duotone" color="#419AC5" size={24} className="mr-2" /> Dispose

Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

#### Syntax

```csharp theme={"dark"}
public void Dispose()
```

### <Icon icon="function" iconType="duotone" color="#419AC5" size={24} className="mr-2" /> DocumentAsync

Documents the assembly asynchronously, building or rebuilding an in-memory model with metadata and documentation if necessary.

#### Syntax

```csharp theme={"dark"}
public System.Threading.Tasks.Task<CloudNimble.DotNetDocs.Core.DocAssembly> DocumentAsync(CloudNimble.DotNetDocs.Core.ProjectContext projectContext = null)
```

#### Parameters

| Name             | Type                                          | Description                                                                     |
| ---------------- | --------------------------------------------- | ------------------------------------------------------------------------------- |
| `projectContext` | `CloudNimble.DotNetDocs.Core.ProjectContext?` | Optional project context for referenced assemblies and conceptual content path. |

#### Returns

Type: `System.Threading.Tasks.Task<CloudNimble.DotNetDocs.Core.DocAssembly>`
A task representing the asynchronous operation, containing the [DocAssembly](/api-reference/CloudNimble/DotNetDocs/Core/DocAssembly) model.

### <Icon icon="code-fork" iconType="duotone" color="#419AC5" size={24} className="mr-2" /> Equals <Badge color="gray">Inherited</Badge> <Badge color="orange">Virtual</Badge>

<Note>Inherited from `object`</Note>

#### Syntax

```csharp theme={"dark"}
public virtual bool Equals(object obj)
```

#### Parameters

| Name  | Type      | Description |
| ----- | --------- | ----------- |
| `obj` | `object?` | -           |

#### Returns

Type: `bool`

### <Icon icon="thumbtack" iconType="duotone" color="#419AC5" size={24} className="mr-2" /> Equals <Badge color="gray">Inherited</Badge>

<Note>Inherited from `object`</Note>

#### Syntax

```csharp theme={"dark"}
public static bool Equals(object objA, object objB)
```

#### Parameters

| Name   | Type      | Description |
| ------ | --------- | ----------- |
| `objA` | `object?` | -           |
| `objB` | `object?` | -           |

#### Returns

Type: `bool`

### <Icon icon="code-fork" iconType="duotone" color="#419AC5" size={24} className="mr-2" /> GetHashCode <Badge color="gray">Inherited</Badge> <Badge color="orange">Virtual</Badge>

<Note>Inherited from `object`</Note>

#### Syntax

```csharp theme={"dark"}
public virtual int GetHashCode()
```

#### Returns

Type: `int`

### <Icon icon="function" iconType="duotone" color="#419AC5" size={24} className="mr-2" /> GetType <Badge color="gray">Inherited</Badge>

<Note>Inherited from `object`</Note>

#### Syntax

```csharp theme={"dark"}
public System.Type GetType()
```

#### Returns

Type: `System.Type`

### <Icon icon="function" iconType="duotone" color="#419AC5" size={24} className="mr-2" /> MemberwiseClone <Badge color="gray">Inherited</Badge>

<Note>Inherited from `object`</Note>

#### Syntax

```csharp theme={"dark"}
protected internal object MemberwiseClone()
```

#### Returns

Type: `object`

### <Icon icon="thumbtack" iconType="duotone" color="#419AC5" size={24} className="mr-2" /> ReferenceEquals <Badge color="gray">Inherited</Badge>

<Note>Inherited from `object`</Note>

#### Syntax

```csharp theme={"dark"}
public static bool ReferenceEquals(object objA, object objB)
```

#### Parameters

| Name   | Type      | Description |
| ------ | --------- | ----------- |
| `objA` | `object?` | -           |
| `objB` | `object?` | -           |

#### Returns

Type: `bool`

### <Icon icon="code-fork" iconType="duotone" color="#419AC5" size={24} className="mr-2" /> ToString <Badge color="gray">Inherited</Badge> <Badge color="orange">Virtual</Badge>

<Note>Inherited from `object`</Note>

#### Syntax

```csharp theme={"dark"}
public virtual string ToString()
```

#### Returns

Type: `string?`

## Related APIs

* System.IDisposable
