.NET Modules

For a debug build, the PowerBuilder .NET compiler creates a .NET module for each PowerBuilder class or class group. A class group consists of a container object that instantiates a primary class, and the controls in that container object, that are instances of subsidiary classes.

For example, a window normally contains several controls. The window and the controls are declared as separate classes that are bound together as a class group in the .NET build process.

For a release build, the compiler creates a .NET module for each PBL rather than for each class or class group. Although basing the generated .NET modules on classes and class groups increases performance for incremental builds, this is mostly needed at development time when the application is being debugged. At production time, basing the generated .NET modules on target PBLs is more advantageous, since it minimizes the number of modules that need to be deployed.

Incremental rebuilds are supported for deployment to remote servers as well as for MSI file generation. In addition to saving time on deployment, the generation of .NET modules is especially beneficial for smart client Windows Forms applications, because the modules can reduce the size of the assembly files that need to be updated.