Installation
This page helps you confirm that your machine can build and run Zeus samples.
Requirements
| Tool | Purpose | How to check |
|---|---|---|
| .NET 8 SDK | Build Zeus and your app | dotnet --version should show 8.x.x |
| Git | Clone the source | git --version |
| Visual Studio 2022 / Rider | More convenient for WinForms or WPF | Can create net8.0-windows projects |
You do not need a real serial device, meter, or USB-to-serial adapter to run the console samples.
Option 1: Run the Source Samples
This is the recommended first step.
git clone https://github.com/Mokode-dev/Zeus.git
cd Zeus/code
dotnet test Zeus.sln
dotnet run --project samples/Zeus.Samples.Console.Headless
Expected output is similar to:
Channel meter state: Open
Echo received: PING
Host stopped.
The exact sample text may be localized, but seeing PING means the host, channel, and receive event path are working.
Option 2: Install NuGet Packages
Console or service app:
dotnet add package Zeus.Communications
WinForms:
dotnet add package Zeus.Communications
dotnet add package Zeus.Presentation.WinForms
WPF:
dotnet add package Zeus.Communications
dotnet add package Zeus.Presentation.Wpf
Protocol packages:
dotnet add package Zeus.Protocols.Modbus
dotnet add package Zeus.Protocols.Mc
dotnet add package Zeus.Protocols.S7
dotnet add package Zeus.Protocols.Fins
dotnet add package Zeus.Protocols.HostLink
dotnet add package Zeus.Protocols.EtherNetIp
Configuration:
dotnet add package Zeus.Configuration
See NuGet Packages for package selection by scenario.
Option 3: Source Project References
When developing inside the repository or debugging Zeus itself, use project references:
<ItemGroup>
<ProjectReference Include="..\..\src\Zeus.Communications\Zeus.Communications.csproj" />
<ProjectReference Include="..\..\src\Zeus.Presentation.WinForms\Zeus.Presentation.WinForms.csproj" />
</ItemGroup>
Do not mix NuGet and source references for the same Zeus assembly in one app.
More Samples
Run from the code directory:
dotnet run --project samples/Zeus.Samples.WinForms.QuickStart
dotnet run --project samples/Zeus.Samples.Wpf.QuickStart
dotnet run --project samples/Zeus.Samples.Console.Config
dotnet run --project samples/Zeus.Samples.Console.Modbus
dotnet run --project samples/Zeus.Samples.Console.Mc
dotnet run --project samples/Zeus.Samples.Console.S7
dotnet run --project samples/Zeus.Samples.Console.Fins
dotnet run --project samples/Zeus.Samples.Console.HostLink
dotnet run --project samples/Zeus.Samples.Console.EtherNetIp
dotnet run --project samples/Zeus.Samples.Console.TcpServer
WinForms and WPF samples open windows. Protocol samples use local virtual PLCs or loopback connections, so no real hardware is required.
Common Issues
| Symptom | Likely cause | Fix |
|---|---|---|
dotnet is not found | .NET SDK is not installed or PATH was not refreshed | Install .NET 8 SDK and reopen the terminal |
Version is 7.x.x or lower | Old SDK is first on PATH | Install .NET 8 SDK |
| Zeus package cannot be found | nuget.org unavailable or package name is wrong | Check nuget.org and package spelling |
| WinForms / WPF restore fails | Project does not target Windows desktop | Use net8.0-windows |
| Sample builds but serial port fails | Real port is missing or busy | Start with virtual samples, then read Serial Port |
Next: Console Sample.