32 lines
1.8 KiB
Markdown
32 lines
1.8 KiB
Markdown
# Agent Instructions: MAPO-IOB-WIN
|
|
|
|
## Project Overview
|
|
A collection of .NET (C#/VB) projects for industrial communication with NC controls (Fanuc, Siemens, Mitsubishi, etc.) via the Mapo Protocol.
|
|
|
|
## Build & Release
|
|
- **Toolchain**: MSBuild.
|
|
- **Config**: Always use `Release` configuration.
|
|
- **Command Example**:
|
|
```powershell
|
|
& "$env:MSBUILD_PATH" "ProjectName\ProjectName.csproj" -target:Build /p:Configuration=Release /p:OutputPath=bin/ /nodeReuse:false /verbosity:minimal /m
|
|
```
|
|
- **NuGet**: Requires Steamware Nexus Proxy sources. Use `dotnet nuget restore` on the specific `.sln` before building.
|
|
- **Versioning**: Automated via `VersGen\VersGen.cs` and `.nuspec` updates during CI. Manual updates to `VersGen.cs` might be needed if mimicking CI.
|
|
- **Release Artifacts**: Zipped using `7z.exe`; MD5/SHA1 hashes are generated.
|
|
|
|
## Key Directories & Files
|
|
- **`IOB-WIN-*`**: Protocol-specific implementations (e.g., `FANUC`, `SIEMENS`, `SHELLY`).
|
|
- **`VersGen\`**: Handles automated assembly versioning.
|
|
- **`UtilityScripts\`**: Contains `alarmFormatter.py`. Requires `python3` and `pip install inquirer`.
|
|
- **`EgwCApp\`**: Core application logic and testing projects.
|
|
|
|
## Environment & Setup
|
|
- **Siemens PLC**: Must enable "PUT/GET" permission in TIA Portal.
|
|
- **Dependencies**: Uses `saltminion` and specific Windows accounts (`steamware`/`IOB`).
|
|
- **Documentation**: Generated via `docfx`.
|
|
|
|
## Important Workflow Notes
|
|
- **CI Logic**: The `.gitlab-ci.yml` contains critical automation logic for NuGet sources, versioning, and deployment. Refer to it for exact operational steps.
|
|
- **NuGet Fixes**: The CI uses a `.nuget-fix` helper to manage Steamware Nexus Proxy sources. If encountering NuGet errors, check source configuration.
|
|
- **Versioning Flow**: Versioning involves updating `VersGen.cs` (replacing `0.0.0.0`) and updating `.nuspec` files.
|