No description
  • C# 99.6%
  • PowerShell 0.4%
Find a file
Davide Trentin b9787e415c lib: estrazione iniziale di OPCs3Library da OPCUASolution
Snapshot (git archive) di OPCUASolution commit 0298f7c8c6a9b29dad8bed779134a2ae5a2299ca:
OPCs3Library, OPCs3Library.Forms, tools/MockRobot e i test della libreria
in OPCs3Library.Tests (1264 test, stesso elenco del sottoinsieme LIB di OPCUASolution.Tests).

Modifiche rispetto allo snapshot:
- OPCs3Library.sln nuova (4 progetti)
- InternalsVisibleTo verso OPCs3Library.Tests (mantenuto OPCUASolution.Tests per ReadLogLineTests)
- namespace dei test OPCUASolution.Tests -> OPCs3Library.Tests; MockRobotProcess cerca OPCs3Library.sln
- README, nuget.config, .gitignore, .gitattributes, tools/Test-Snapshot.ps1

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 09:56:16 +02:00
OPCs3Library lib: estrazione iniziale di OPCs3Library da OPCUASolution 2026-10-24 09:56:16 +02:00
OPCs3Library.Forms lib: estrazione iniziale di OPCs3Library da OPCUASolution 2026-10-24 09:56:16 +02:00
OPCs3Library.Tests lib: estrazione iniziale di OPCs3Library da OPCUASolution 2026-10-24 09:56:16 +02:00
tools lib: estrazione iniziale di OPCs3Library da OPCUASolution 2026-10-24 09:56:16 +02:00
.gitattributes lib: estrazione iniziale di OPCs3Library da OPCUASolution 2026-10-24 09:56:16 +02:00
.gitignore lib: estrazione iniziale di OPCs3Library da OPCUASolution 2026-10-24 09:56:16 +02:00
nuget.config lib: estrazione iniziale di OPCs3Library da OPCUASolution 2026-10-24 09:56:16 +02:00
OPCs3Library.sln lib: estrazione iniziale di OPCs3Library da OPCUASolution 2026-10-24 09:56:16 +02:00
README.md lib: estrazione iniziale di OPCs3Library da OPCUASolution 2026-10-24 09:56:16 +02:00

OPCs3Library

Libreria client OPC UA per .NET Framework 4.7.2 con API specchio dei membri QuickOPC usati da OPCUASolution, costruita sullo stack ufficiale OPC Foundation (OPCFoundation.NetStandard.Opc.Ua.Client / .Configuration 1.5.378.182). Nessuna licenza di terze parti.

Origine: snapshot del repo OPCUASolution, commit 0298f7c8c6a9b29dad8bed779134a2ae5a2299ca.

Progetti

Progetto Contenuto
OPCs3Library Libreria (net472, LangVersion 12), senza WinForms.
OPCs3Library.Forms Dialoghi WinForms (UAHostAndEndpointDialog, UADataDialog), dipende da OPCs3Library.
OPCs3Library.Tests Test NUnit: Unit\ sempre, Integration\ con [Category("Integration")] (usano MockRobot).
tools\MockRobot Simulatore del robot (server OPC UA minimo) per i test di integrazione e le prove manuali.

Pacchetti NuGet: in futuro.

Build e test (Windows)

Build solo con MSBuild di Visual Studio 2022 (dotnet build non e' supportato per i progetti WinForms).

$MSB    = "C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\MSBuild.exe"
$VSTEST = "C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\Extensions\TestPlatform\vstest.console.exe"

& $MSB OPCs3Library.sln /restore /t:Build /p:Configuration=Debug /m:1 /v:minimal

# Test unitari
& $VSTEST OPCs3Library.Tests\bin\Debug\net472\OPCs3Library.Tests.dll /TestCaseFilter:"TestCategory!=Integration"

# Test di integrazione: avviano tools\MockRobot\bin\Debug\net472\MockRobot.exe su porte libere da 48611 in su
& $VSTEST OPCs3Library.Tests\bin\Debug\net472\OPCs3Library.Tests.dll /TestCaseFilter:"TestCategory=Integration"

MockRobot viene compilato con la soluzione (riferimento di solo ordine di build dal progetto test) e cercato risalendo dalla cartella dei test fino a OPCs3Library.sln.

Controllo dello snapshot (file di build, segreti) prima di un commit:

powershell -ExecutionPolicy Bypass -File tools\Test-Snapshot.ps1

Note

  • InternalsVisibleTo("OPCUASolution.Tests") in OPCs3Library.csproj e' mantenuto solo per ReadLogLineTests, rimasto nei test dell'app OPCUASolution (costruttori internal degli argomenti di notifica): accoppiamento noto, da rimuovere quando quel test non servira' piu'.
  • OpcClientOptions.ApplicationName ha default "OPCUASolution" per continuita' del certificato client.