Overview
This guide covers the configuration options and settings for the ACHCE Client application, including project settings, runtime configuration, and customization options.Project Configuration
Target Framework
ACHCE Client targets .NET Framework 4.7.2, which provides compatibility with Windows 7 SP1 and later operating systems.ACHCE_Cliente.csproj:11
.NET Framework 4.7.2 includes improvements for cryptography, security, and high-DPI support for Windows Forms applications.
Application Configuration
TheApp.config file defines the supported runtime environment:
App.config
Build Configurations
ACHCE Client includes two standard build configurations:Debug Configuration
Used during development with full debugging symbols:Enables generation of debug symbols (.pdb files) for debugging
Code optimization is disabled for easier debugging
Preprocessor symbols available during compilation
Release Configuration
Optimized build for production deployment:Enables compiler optimizations for better performance
Generates limited debug information for stack traces
Application Settings
Assembly Information
Configure the application metadata inProperties/AssemblyInfo.cs:
Output Settings
Creates a Windows Forms application (no console window)
The name of the compiled executable file
Default namespace for new classes (note: current code uses
vbEngC)Runtime Configuration
Timer Settings
The application uses two timers for managing the loading sequence and UI updates:Form1.cs:19-21
Timer1 - Connection Monitor
Purpose: Monitors IP address retrieval and transitions to the next form
Form1.cs:70-83
This timer continuously checks if the player’s IP address has been retrieved, then transitions to Form2.
Timer Configuration
To modify timer intervals, update them in the Form Designer or programmatically:Player Identification
The application generates random names for anonymous player tracking:Form1.cs:44-49
IP Address Detection
The client automatically retrieves the player’s public IP address:Form1.cs:51-53
Dependencies
Core Packages
ACHCE Client relies on the following NuGet packages:Package Descriptions
Firebase Realtime Database client library for .NET
High-performance JSON serialization and deserialization
Async/await support for .NET Framework 4.0+
HTTP client libraries for modern HTTP operations
System References
The project includes essential .NET Framework assemblies:Deployment Configuration
ClickOnce Settings
The project includes ClickOnce deployment configuration:ACHCE_Cliente.csproj:15-29
Advanced Configuration
Custom Application Settings
To add custom configuration settings, modifyApp.config:
App.config
Reading Configuration Values
Access configuration values in your code:You’ll need to add a reference to
System.Configuration assembly to use ConfigurationManager.Environment-Specific Configuration
Development Environment
For local development, keep Firebase credentials in the source code or use a local config file that’s excluded from version control.Production Environment
Consider usingapp.config transformations for environment-specific settings:
- Add
App.Debug.configandApp.Release.config - Use XML transformations to replace values per environment
- Configure transformations in your build pipeline
Troubleshooting
Common Configuration Issues
Assembly Load Errors
Assembly Load Errors
Symptom: Application fails to start with assembly load exceptionsSolution:
- Clean and rebuild the solution
- Verify all NuGet packages are restored
- Check that binding redirects are correct in
App.config
Timer Not Firing
Timer Not Firing
Symptom: Loading animation doesn’t work or form transition failsSolution:
- Ensure timers are started in
Form1_Loador constructor - Check timer
Enabledproperty istrue - Verify
Intervalproperty is set to a positive value - Confirm event handlers are properly attached
Namespace Conflicts
Namespace Conflicts
Symptom: Type not found or ambiguous reference errorsSolution:
- The project uses
vbEngCnamespace but project setting showsACHCE - Update
RootNamespacein project properties to match code - Or refactor code to use consistent namespace
Next Steps
Firebase Setup
Configure Firebase Realtime Database connection
Architecture
Understand the application architecture