C# 2.0 Assemblies

An assembly is a collection of C# files that forms a DLL or executable. PowerDesigner provides support for both single-assembly models (where the model represents the assembly) and multi-assembly models (where each assembly appears directly below the model in the Browser tree and is modeled as a standard UML package with a stereotype of <<Assembly>>).

Creating an Assembly

PowerDesigner supports both single-assembly and multi-assembly models.

By default, when you create a C# 2.0 OOM, the model itself represents an assembly. To continue with a single-assembly model, insert a type or a namespace in the top-level diagram. The model will default to a single-module assembly, with the model root representing the assembly.

To create a multi-assembly model, insert an assembly in the top-level diagram in any of the following ways:
  • Use the Assembly tool in the C# 2.0 Toolbox.

  • Select Model > Assembly Objects to access the List of Assembly Objects, and click the Add a Row tool.

  • Right-click the model (or a package) in the Browser, and select New > Assembly.

Note: If these options are not available to you, then you are currently working with a single-assembly model.

Converting a Single-Assembly Model to a Multi-Assembly Model

To convert to a multi-assembly model, right-click the model in the Browser and select Convert to Multi-Assembly Model, enter a name for the assembly that will contain all the types in your model in the Create an Assembly dialog, and click OK.

PowerDesigner converts the single-assembly model into a multi-assembly model by inserting a new assembly directly beneath the model root to contain all the types present in the model. You can add new assemblies as necessary but only as direct children of the model root.

Assembly Properties

Assembly property sheets contains all the standard package tabs along with the following C#-specific tabs:

The Application tab contains the following properties:

Property

Description

Generate Project File

Specifies whether to generate a Visual Studio 2005 project file for the assembly.

Project Filename

Specifies the name of the project in Visual Studio. The default is the value of the assembly code property.

Assembly Name

Specifies the name of the assembly in Visual Studio. The default is the value of the assembly code property.

Root Namespace

Specifies the name of the root namespace in Visual Studio. The default is the value of the assembly code property.

Output Type

Specifies the type of application being designed. You can choose between:

  • Class library

  • Windows Application

  • Console Application

Project GUID

Specifies a unique GUID for the project. This field will be completed automatically at generation time.

The Assembly Information tab contains the following properties:

Property

Description

Generate Assembly Information

Specifies whether to generate an assembly manifest file.

Title

Specifies a title for the assembly manifest. This field is linked to the Name field on the General tab.

Description

Specifies an optional description for the assembly manifest.

Company

Specifies a company name for the assembly manifest.

Product

Specifies a product name for the assembly manifest.

Copyright

Specifies a copyright notice for the assembly manifest.

Trademark

Specifies a trademark for the assembly manifest.

Culture

Specifies which culture the assembly supports.

Version

Specifies the version of the assembly.

File Version

Specifies a version number that instructs the compiler to use a specific version for the Win32 file version resource.

GUID

Specifies a unique GUID that identifies the assembly.

Make assembly COM-Visible

Specifies whether types within the assembly will be accessible to COM.