.NET Assembly Target and Project Properties

Set properties for .NET Assembly targets and projects in the .NET Assembly wizard, and for .NET Assembly projects, in the Project painter.

Properties for New Target

For a new .NET Assembly target that you create in a wizard, provide the information described in this table:

Basic .NET Assembly Properties
Property Description
Project name Name of the project object the wizard creates.
Library Name of the library directory the wizard creates. By default, this includes the current solution path and takes the name you enter for the project object with a PBL extension.
Target Name of the target the wizard creates. By default, this includes the current solution path and takes the name you enter for the project object with a PBTX extension.
Library search path Lets you add PBL directories to the search path for the new target.
Default namespace Assigns a namespace for all objects in the target for which you do not explicitly specify a different namespace. This namespace is saved in the project created by the wizard, but is not visible in the UI for the objects that you subsequently add to the target and deploy with this project.

The default namespace is not available for selection from lists for objects in the target, and can be applied only to those objects by the compiler. Other projects in the same target can have different default namespaces that apply to the same objects.

Assembly file name Name of the assembly that the wizard creates. By default, the assembly file name takes the namespace name with a DLL suffix.
PowerBuilder objects An object to be created with the target, or none.
Resource files List of resource files, or directories containing resource files, that you want to deploy with the project.

Use the buttons to add files or directories to the list box. When you add a directory, a check box appears next to the directory path in the list box. You can select this check box to add resources from subdirectories of the listed directory path.

Select a file or directory in the list and click Delete to remove that file or directory from the list. Resource files that you add are automatically included under the Resources folder for the target in the Solution Explorer.

Win32 dynamic library file list Specifies any Win32 DLLs you want to include with your project. Click Add to open a file selection dialog box and add a DLL to the list. Select a DLL in the list and click Delete to remove the DLL from the list.
Setup file name Name of the setup file for the .NET Assembly project. Copy this MSI file to client computers, then double-click the files to install the .NET assembly on those computers.

Properties for New Target Converted from an Existing Target

The New .NET Assembly wizard lets you convert an existing .NET Assembly target that was created earlier in PowerBuilder Classic.

The Use the library list from an existing target option lets you select a source target from the current solution only. When you select this option, the wizard prompts you for the same information as when you create a new target, but omits the PowerBuilder object name, description, and library search path fields. These fields are unnecessary because the existing target must have a usable nonvisual object, and the library search path for the target is already set. However, the wizard does present the additional fields in the table below, which are not available when you create a new target:

Additional Wizard Fields for Targets Created from Existing Target Library List
Field Description
Target A target in the current solution to be copied for the new target.

After selecting a source target, specify a new target name, a project name, and a project library, as described in the table listing wizard fields for a new .NET Assembly target.

Choose objects to be deployed The objects to be deployed with the project. You can expand the library nodes and select check boxes next to each of the objects you want to deploy.
Use .NET nullable types Maps PowerScript standard datatypes to .NET nullable datatypes. Nullable datatypes are not Common Type System (CTS) compliant, but they can be used with .NET Generic classes if a component accepts or returns null arguments, or if reference arguments are set to null.

If you choose Convert an existing .NET assembly target, the .NET Assembly target wizard has only two editable fields—one to select the source target for conversion, and the other to assign the location and name of the new .NET Assembly target. The wizard also displays a list of the libraries from the source target that you select.

.NET Assembly Project Painter Properties

The .NET Assembly Project painter lists all properties. You can modify fields that were set in the wizard, and add additional properties that are not available in the wizard.

General Tab
Property Description
Namespace Name of the runnable file for this target. The file is created in the output directory. Default: application name and an .EXE extension.
Assembly file name  
Output Directory The full path where the executable is deployed.
Setup file name  
Build type Choose either Debug or Release. The wizard displays the build subfolder for the selected option.
Suppress Unsupported Feature warnings Suppress the compiler warnings that PowerBuilder .NET normally displays in the Output window about features in your application that are unsupported in .NET.
Note: Unsupported Feature warnings do not have IDs. See the next property to suppress errors by ID.
Suppress the following warnings (comma-separated) Enter a comma-separated list of the IDs of PowerBuilder compiler errors to suppress. Example: C0003,C0016
Use .NET nullable types Maps PowerScript standard datatypes to .NET nullable datatypes. Nullable datatypes are not Common Type System (CTS) compliant, but they can be used with .NET Generic classes if a component accepts or returns null arguments, or if reference arguments are set to null.
Enable DEBUG symbol Choose this option if your application contains code with the DEBUG conditional compilation symbol, and you want this code to run.
Verify CLS compliance PowerBuilder .NET issues warnings when you deploy objects that are not compliant with the Common Language Specification (CLS).

Before PowerBuilder .NET Version 2.5, .NET Assemply targets could deploy only public NVO functions. In the current version, the Objects tab enables you to deploy multiple objects using additional language elements, including visual objects.

Objects Tab
Property Description
Custom class objects A tree listing the libraries currently included in the Assembly. Navigate the tree and select a library to display its objects in the table of objects.
Object name The name of the currently selected object.
Class name The class name to be used for the object.
Description Optional text describing the object.
Namespace The namespace under which the Assembly will be deployed (read-only, defined in the General tab).
Table of object A list of objects in the library, organized by type. Select the objects to deploy in the Assembly.

The remaining .NET Assembly Project painter tabs define additional properties (some also defined in the wizards):