The new solution format (PBSLN) leverages the ultra-fast compiler, while the workspace format (PBW) relies on the standard compiler. To take advantage of the ultra-fast compiler, create new solutions or convert existing workspaces into solutions. Applications using the new solution format will automatically benefit from the ultra-fast compiler.
To create a new solution, you can select the File > New menu, and then select to create a new solution.
To convert the existing workspace (PBW) to the solution (PBSLN), you can right-click the workspace and then select Convert Workspace to Solution.
Before converting the workspace to the solution, you are strongly recommended to:
-
Rename PBLs or objects with the same name to avoid duplication during conversion.
-
Optimize the PBL and then full build the target (PBT).
During the process of converting a workspace to a solution:
-
.pbw will be converted to .pbsln under the same directory
-
.pbt will be converted to .pbproj under the same directory
-
PBL file will be converted to PBL folder under the same directory. The PBL folder and the PBL file will have the same name (the file extension ".pbl" will be part of the folder name), for example, if the PBL file name is a.pbl, then the converted PBL folder is named as "a.pbl". The objects' source code in the PBL file will be split and stored as individual files in text format (.sr* files) under the PBL folder, and Pcode in the PBL file will be split and stored as individual files (in binary format) under separate folders (".pb" and "build" folders).
-
The comments of the PBL are stored in the .pblmeta file (each PBL folder has a .pblmeta file), and the comments of the object are stored with the source code.
-
.pbw, .pbt, .pbl, and .user.opt files and ws_objects folder will be backed up to a sub-folder named "_BackupFiles" under each file's location. If the .pbl file is located outside the directory of the .pbt file, the .pbl file will be backed up with a .bak suffix in its original location.
You can remove these "_BackupFiles" folders after converting to solution successfully, or keep these folders in case you want to go back to the workspace.
The workspace can be converted to the solution, but the solution cannot be converted back to the workspace. To work with the original workspace, you can get files back from these "_BackupFiles" folders.
Note
Machine code is unsupported in the solution format. If the application project selects to generate machine code, it will be changed to select Pcode automatically when converting to the solution format.
After converting to the new solution format, all project types (including traditional C/S Application projects, PowerClient projects, and PowerServer projects) will automatically benefit from the ultra-fast compiler.
Note
If the workspace is under source control, you cannot directly convert the workspace to solution (the Convert Workspace to Solution menu is greyed out). You can make a copy of the entire workspace, remove source control from this copy, convert this copy to solution, and then add it (as a branch) to the source control. Notice that the change logs will not be carried over to the new branch unless you manually adjust the repo content.
You can import individual target file (.pbt) from a workspace to an existing solution, or import individual library file (.pbl) to the project (.pbproj), or import objects from the library file (.pbl) to the library folder.
To import the target (.pbt) files to the solution,
-
Right-click the solution and then select Convert & Add Target.
The selected target (.pbt) file will be converted to the project (.pbproj) and the library (.pbl) files included in the selected target will be converted to the corresponding library folders.
If the library (.pbl) file is located under the directory or subdirectory of the selected target (.pbt) file, the original target file and library file will be backed up to the "_BackupFiles" sub-folder under the original location.
If the library (.pbl) file is located outside the directory of the selected target (.pbt) file, the original target file will be backed up to the "_BackupFiles" sub-folder under its original location while the library file will be backed up with a .bak suffix in its original location.
To import the library (.pbl) files to the project (.pbproj),
-
Right-click the project (.pbproj) and then select Library List, and in the dialog box select Convert & Add, or right-click the project (.pbproj) and then select Properties, and in the dialog box select Convert & Add.
The selected library (.pbl) file will be converted to the library folder. The library (.pbl) file will be backed up with a .bak suffix in its original location.
You can also use Convert & Add to add the PB dynamic library (.pbd) to the library list and reference the PBD file in the application.
To import objects from the library (.pbl) file to the library folder,
-
Right-click the library folder and then select Import From Library.
The objects will be imported from the selected library file (.pbl) to the current library folder. The library (.pbl) file remains unchanged in its original location.
The solution format and its ultra-fast compiler does not support all of the features that are supported by the workspace format and its standard compiler. For example, the following features are NOT supported by the ultra-fast compiler and solution:
-
PBNative in source control
-
SCC API
-
Machine-code compilation
-
ORCA/OrcaScript compilation
-
PowerServer cursory (ultra-fast) build mode
-
A few PB functions (view more details)
Note
The new solution format and ultra-fast compiler is available in the CloudPro or Professional edition of PowerBuilder 2025 or later (but NOT available in the Standard edition).