LicenseLabrador-SDK als lokales NuGet-Paket statt Cross-Repo-Projektreferenz

PolyTrader.App.csproj verwies per ProjectReference nach
..\..\LicenseLabrador\client-dotnet\... und baute damit nur auf einer
Maschine, auf der das Schwester-Repo danebenliegt. Auf dem Zielland-System
waere der Build fehlgeschlagen.

Stattdessen liegt das SDK als versioniertes Paket in lib/nuget und wird
ueber die NuGet.Config-Quelle "local" aufgeloest. Ein DLL-Verweis haette
nicht gereicht: das Paket traegt die transitiven Abhaengigkeiten
(BouncyCastle, ProtectedData, System.Text.Json) in seinen Metadaten.

packageSourceMapping bindet LicenseLabrador.* fest an den lokalen Feed,
damit ein gleichnamiges Paket auf nuget.org unseres nicht verdraengt
(Dependency Confusion).

Enthaelt ausserdem die bereits vorgemerkte Umbenennung
LicenseDialog.Validate -> ValidateKey: der alte Name verdeckte
ContainerControl.Validate() (CS0108), ein Aufruf ueber eine Form-Referenz
haette einen Netzwerk-Call ausgeloest statt zu validieren.

Build und Tests gruen (438 Tests).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Richard
2026-08-05 13:13:35 +02:00
co-authored by Claude Opus 5
parent db6c37eaa4
commit ab0a494f29
5 changed files with 68 additions and 5 deletions
+8 -2
View File
@@ -57,7 +57,7 @@ namespace PolyTraderSharp.Ui
btnLimited.Text = "Schließen";
}
btnValidate.Click += (_, _) => Validate();
btnValidate.Click += (_, _) => ValidateKey();
btnCopyHwId.Click += (_, _) => CopyHardwareId();
btnLimited.Click += (_, _) => { DialogResult = DialogResult.Cancel; Close(); };
AcceptButton = btnValidate;
@@ -69,7 +69,13 @@ namespace PolyTraderSharp.Ui
catch { return "(nicht ermittelbar)"; }
}
private void Validate()
/// <summary>
/// Prüft den eingegebenen Schlüssel gegen den Lizenzserver. Bewusst NICHT „Validate" genannt:
/// das würde <see cref="ContainerControl.Validate()"/> verdecken (CS0108), sodass ein Aufruf
/// über eine <see cref="Form"/>-Referenz statt der Control-Validierung einen Netzwerk-Call
/// auslösen würde.
/// </summary>
private void ValidateKey()
{
string key = txtKey.Text.Trim();
if (string.IsNullOrWhiteSpace(key))