.NET client details
- Last Updated: March 15, 2023
- 4 minute read
- OpenEdge
- Version 13.0
- Documentation
.NET client details
The .NET client type generates executable proxies in the form of .NET assembly (.dll) files.
Client Details for the .NET client type displays the following generation settings:
-
Namespaces — Namespace settings to use
both for the root in the generated .NET proxy and for DataSet
and DataTable classes generated in the proxy.
- General — Enter the namespace to use as the root for generating the classes in a .NET proxy.
- DataSet — By default, ProxyGen creates
the namespace of the strongly typed DataSet or DataTable class by appending
"StrongTypedNS"to the project's General namespace. To specify a different namespace for the DataSet or DataTable class, uncheck the Use Default option.
-
Compiler — These radio buttons allow
you to specify one of the following compilers to use for generating
a .NET proxy:
- Default MSBuild — ProxyGen uses the Microsoft MSBuild compiler on the system.
- Custom — You specify an alternate MSBuild compiler for proxy generation.
- Customize — Click this button to access the Customize Compiler dialog box which allows you to set compiler and XSD settings for the .NET client proxy. For a detailed description, see Customize Compiler dialog box.
-
Add Namespace to Output Directory — Select
this option if you want ProxyGen to create the project's DLL file
in a subdirectory of the output directory. This option allows you
to turn off the default behavior of creating the project's DLL file
in subdirectories using the namespace, and allows you to put it
directly in the output directory.
For example, if the output directory is C:/wrk and the Namespace is ABC.ClientNS, then ProxyGen creates the DLL file in C:/wrk/ABC/ClientNS. Uncheck this option if you want ProxyGen to create the project's DLL file directly into the output directory (for example, C:/wrk).
-
Assembly Info — General information about
a .NET assembly is controlled through this set of attributes: Title, Version, Desc (Description), Company, Runtime, Product, Delay
Sign, and Key File. You can change
the attribute values to modify the information associated with an
assembly. This information is critical to uniquely identify the
proxy.
Version has the following syntax:
|
You can specify all Version values or accept the defaults for build number and revision by using the * (asterisk) wildcard. For example:
- 1.2.3.4 (specify all values)
- 1.2.*.4 (accept default value for build)
- 1.2.3.* (accept default value for revision)
- 1.2.* (accept default values for build and revision)
- Digitally Signed — Indicates that the DLLs are digitally signed to identify the author, but are not strongly named for precise DLL version matching. This is the default setting.
- Strongnamed Signed — Indicates that the DLLs are both digitally signed to identify the author and strongly named for precise DLL version matching.
- Strongnamed — Indicates that the DLLs are not digitally signed to identify the author and will be strongly named for precise DLL version matching. This configuration is not generally recommended but may be necessary in some special cases.
For more information on these .NET runtime assembly options, see the information on .NET client interface generation in Open Client interface generation.
If Delay Sign is checked with one of the Strongnamed options,
ProxyGen uses delayed signing along with the public key file to
strongname the proxy assembly. This means the strongname signing
process must be completed outside of ProxyGen on a system where
the key pair file is located (normally a secure system). For more
information, see the documentation on Microsoft's Strong Name tool
(sn.exe). By default, this is unchecked.
Key File is the public key file used for delayed strongname signing. This field is enabled only if Delay Sign is checked.
-
Unknown Support — These radio buttons
allow you to specify how you want the .NET proxy to support
the .NET null value for parameters and return values that
can have the ABL
Unknown value (?):- Nullable
Types — Use .NET nullable value types. These are
built-in .NET structures that support the null value in addition
to the values of a corresponding .NET primitive value type
(such as
System.Int32orSystem.Decimal). Each parameter or return type with an ABL primitive data type (such asINTEGERorDECIMAL) that can have theUnknown value (?)is therefore mapped to a corresponding nullable value type. - Holder Classes — Use OpenEdge holder classes.
These are OpenEdge-defined .NET classes that correspond to .NET primitive
value types. Each holder class is defined with properties that allow
the .NET null value to be set and tested in addition to allowing
the values of the corresponding .NET value type to be set
and returned. Each parameter or return type with an ABL primitive
data type that can have the
Unknown value (?)is therefore mapped to a corresponding holder class.
- Nullable
Types — Use .NET nullable value types. These are
built-in .NET structures that support the null value in addition
to the values of a corresponding .NET primitive value type
(such as