The .NET Assembly target wizard
You can create .NET
assembly targets from scratch or by using PBLs from an existing
target that contain at least one nonvisual custom class object.
Creating a target from scratch
When you use the .NET Assembly target wizard to create a target
from scratch, the wizard also creates an Application object, a project
object that allows you to deploy the assembly, and a nonvisual object
(NVO). However, you must add and implement at least one public method
in the wizard-created NVO before it can be used to create a .NET
assembly.
For .NET Assembly targets you create from scratch, you must
provide the information described in Table 12-1.
| Wizard field | Description |
|---|---|
| Project name | Name of the project object the wizard creates. |
| Library | Name of the library file the wizard creates. By default, this includes the current Workspace 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 Workspace path and takes the name you enter for the project object with a PBT extension. |
| Library search path | Lets you add PBLs and PBDs to the search path for the new target. |
| PowerBuilder object name | Name of the nonvisual object the wizard creates. By default this takes the name that you entered for a project object with an “n_” prefix. |
| Description | Lets you add a description for the project object the wizard creates. |
| Namespace | Provides a globally unique name to assembly elements and attributes, distinguishing them from elements and attributes of the same name but in different assemblies. |
| Assembly file name | Name of the assembly created by the wizard. By default, the assembly file name takes the namespace name with a DLL suffix. |
| Resource file and directory list | List of resource files, or directories containing resource files, that you want to deploy with the project. You can use the Add Files, Add Directories, or Search PBR Files When you select a directory, the resource files in all of |
| Win32 dynamic library file list | Specifies any Win32 DLLs you want to include with your project. Click the Add button 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 the wizard creates. You can copy this MSI file to client computers, then double-click the files to install the .NET assembly on those computers. |
Creating a target from an existing target
If you select the option to use an existing target, the wizard
creates only the .NET Assembly target and a .NET Assembly project.
The target you select must include a PBL with at least one nonvisual
object having at least one public method. The public method must
be implemented by the nonvisual object or inherited from a parent.
The AutoInstantiate property of the nonvisual object must be set
to false.
System Tree display All objects from an existing target display in the System
Tree for the .NET Assembly target created from the existing target,
except for any project objects that are incompatible with the new
target. Although visual objects, as well as the application object,
are not used in a .NET Assembly target, you can view them in the
System Tree under the new target’s PBLs.
When you use the wizard to create a .NET Assembly target from
an existing target, the wizard prompts you for the same information
as when you create a target from scratch, except that it omits the
PowerBuilder object name 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.
The wizard does, however, present fields that are not available
when you create a target from scratch. Table 12-2 describes these additional fields.
| Wizard field | Description |
|---|---|
| Choose a target | Select a target from the list of targets in the current workspace. |
| Specify a project name | Select a name for the project you want to create. You must create a project object to deploy nonvisual objects as .NET components. |
| Choose a project library | Specify a library from the list of target libraries where you want to store the new project object. |
| Choose NVO objects to be deployed | Expand the library node or nodes in the list box and select check boxes next to the nonvisual objects that you want to deploy. |
| Use .NET nullable types | Select this check box to map PowerBuilder 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. |
After you create a .NET Assembly target, you can create as
many .NET Assembly projects as you need. You start the .NET Assembly
project wizard from the Project tab of the New dialog box. The fields
in the wizard include all the fields in Table 12-1 except the “PowerBuilder object
name” and “Description” fields and all
the fields in Table 12-2 except
the “Choose a target” field.
Whether you opt to build a new target from scratch or from
an existing target, most of the project-related fields listed in Table 12-1 and Table 12-2 are available for
modification in the Project painter. For more information, see “Modifying a .NET Assembly
project”.