Versionskonflikt zwischen List & Label-Installation und NuGet-Paket beheben

Click here for the English article.

Ausgangslage

Bei Verwendung der NuGet-Pakete von List & Label kann u. U. in der Entwicklungsumgebung eine Warnung angezeigt werden, dass die Versionen der List & Label-Installation und des verwendeten NuGet-Pakets nicht zusammenpassen.

Beispiel
Your List & Label installation 31.003 and the NuGet Package 31.2.0 do not match. We strongly recommend to install/use both the List & Label Service Pack Release 31.002 and the corresponding NuGet Package version 31.2.0 to ensure all .NET assemblies and native core modules are from the same release.

bzw. ab List & Label 32:

Beispiel
The versions of your List & Label installation 32.001 and the NuGet Package 32.2.0 do not match (only the respective minor version is relevant; please ignore the different version formats). We strongly recommend to install/use the respective matching latest version of both the Service Pack and the NuGet Package to ensure all .NET assemblies and native core modules are from the same release.

Ursache

Die .NET-Assemblies der NuGet-Pakete rufen Funktionen aus den nativen Core-Modulen (unmanaged-DLLs) aus dem List & Label-Installationsverzeichnis auf. Zwischen den verschiedenen Releases/Servicepacks können sich jedoch interne Funktionssignaturen, Strukturen etc. ändern, so dass es zu Laufzeitfehlern, Abstürzen oder Verhaltensänderungen kommen kann, wenn die .NET-Assemblies und die nativen Core-Module nicht aus derselben Version stammen.

Lösung

Damit die Warnung nicht mehr angezeigt wird und alle List & Label-Komponenten wieder denselben Versionsstand aufweisen, kann entweder das passende Servicepack oder das passende NuGet-Paket installiert werden.

Hinweis
Das unterschiedliche Versionsnummernformat kann dabei ignoriert werden, wichtig ist die Minor-Version, d. h. also bspw. die 2, wenn das NuGet-Paket die Version 31.2.0 hat und das Servicepack die Version 31.002.

Außerdem sollten ggf. im Projekt zusätzlich eingebundene lokale DLL-Referenzen aus dem List & Label-Installationsverzeichnis entfernt und durch die passenden NuGet-Pakete ersetzt werden.