Project Structure
Ice Porter organizes the generated project into classes, controls, forms, global containers, and resources. Folder names and the split between source and designer files depend on conversion options.
| Location | Purpose |
|---|---|
| App.cs / Application.vb | Application lifecycle and desktop entry point; web startup follows the generated host structure. |
| Classes | Functional classes and shared behavior. See Classes. |
| Controls | Visual classes and their initialization. |
| Forms | Form and dialog templates. See Forms. |
| Globals | Containers for functions, variables, constants, and external declarations. See Global Items. |
| res | Images and other resources, often embedded into an assembly. |
| App.config | Configuration for the applicable .NET Framework application. |
| sql.config | PPJ database providers, connections, and compatibility settings. |
Configuration and Assembly Versions
For .NET Framework executables, App.config is copied to the output as the executable's .config file. Binding redirects can resolve compatible assembly-version changes; they cannot make incompatible reporting engines or providers interchangeable. See redirecting assembly versions.
Modern .NET and web hosts have different startup and configuration conventions. Keep the files generated for the chosen target rather than copying an old desktop configuration unchanged.
Working with Generated Files
Build dependencies first, then inspect designer errors. Keep custom behavior separate from designer-managed initialization. Before regenerating from SAL, preserve manual changes in version control and decide whether each correction belongs in the original source, conversion settings, or maintained .NET code.
Verify resource build actions and copy-to-output settings. A resource visible in Solution Explorer is not necessarily included in deployment.