App.config
Many PPJ Desktop projects targeting .NET Framework use App.config for runtime and PPJ settings. At build time it is copied to the output under the executable's name, for example MyApp.exe.config. This convention does not describe every modern .NET or web host.
The PPJ Framework also uses the App.config file to read its settings.
Configuration Tool
The Configuration Tool provided in the PPJ Utility package edits the settings exposed by that release of the tool. A setting introduced by a newer runtime may require editing its documented configuration directly.
Skinning Configuration
The skinning engine can be configured by code or entirely from outside the application using the App.config file. For the definition of all the supported settings read the Skinning Support Configuration section.
Reporting Configuration
The default reporting engine as well as engine-specific settings are also stored in App.config. Read the Reporting Support and Configuration section for the description of the supported settings.
SQL Data Sources Configuration
Database settings are in Sql.config but the location of the file can be defined in App.config. Read the SQL Configuration section for the detailed description of all the supported properties.
Deployment
For a desktop executable named Orders.exe, the configuration path is:
Project App.config → build/copy → Orders.exe.config beside Orders.exe
│
└─ PPJ SQL configuration lookup → sql.config
Editing the project's App.config does not change a separately deployed copy until the application is rebuilt or that deployed configuration is updated. Conversely, editing only the output file can be lost on the next build. Verify the executable and configuration paths of the process that is actually running.
Keep source and deployment configuration in sync and verify settings under the account that actually runs the application. A class library's own App.config is not automatically merged into the host configuration. Do not copy historical assembly-qualified names without matching the installed assembly and type. Changes may require a restart.