Visual Studio: Found conflicts between different versions of assembly

Beim Versuch NuGet-Packages in Visual Studio zu installieren, die nicht direkt von Microsoft stammen, erhält man manchmal folgende Fehlermeldung. Das betreffende Package lässt sich aufgrund dieses Konflikts nicht installieren.

Found conflicts between different versions of “assembly” that could not be resolved. There was a conflict between “assembly, Version=X.0.0.0, […] and ” assembly, Version=Y.0.0.0,

Die ausführliche Fehlermeldung sieht ungefähr wie folgt aus, von welcher man sich erstmal erschlagen fühlt. Die benannten Komponenten oder Assemblies können natürlich variieren.

Found conflicts between different versions of “Microsoft.Extensions.DependencyInjection.Abstractions” that could not be resolved.There was a conflict between “Microsoft.Extensions.DependencyInjection.Abstractions, Version=5.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL” and “Microsoft.Extensions.DependencyInjection.Abstractions, Version=7.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60”.    “Microsoft.Extensions.DependencyInjection.Abstractions, Version=5.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL” was chosen because it was primary and “Microsoft.Extensions.DependencyInjection.Abstractions, Version=7.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60” was not.    References which depend on “Microsoft.Extensions.DependencyInjection.Abstractions, Version=5.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL” [].        Unresolved primary reference with an item include of “Microsoft.Extensions.DependencyInjection.Abstractions, Version=5.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL”.    References which depend on “Microsoft.Extensions.DependencyInjection.Abstractions, Version=7.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60” [].

Hier bestehen also Abhängigkeiten zu einem anderen Package, welches momentan in einer höheren, aktuelleren Version installiert ist, welche von dem zu installierenden Package noch nicht unterstützt werden.

In diesem deinstalliert man das betreffende Packages am besten über den Nuget Package Manager, welchen man über Rechtsklick aufs Projekt und dann „Manage NuGet Packages…“ aufrufen kann. Oder man geht über das Menü „Tools“ ➤ „Nuget Package Manager“ ➤ „Manage NuGet Packages for Solution“. Dabei können neue Abhängigkeiten auftreten. Ggf. lässt es sich nicht deinstallieren, weil andere Packages abhängig sind von diesem Package. Also muss man zuvor auch diese Packages deinstallieren.

Jetzt gibt es zwei Möglichkeiten: Entweder man installiert die soeben deinstallierten Packages einzeln in der jeweilig gewünschten Version oder man installiert die eigentlichen Packages und hofft, dass die abhängigen Packages gleich mit installiert werden in der richtigen Version.

Die letztere Variante ist natürlich die schnellere und einfachere.

Visual Studio: Found conflicts between different versions of packages
Komponente neu installieren über NuGet Package Manager

Man kann also nur hoffen, dass die beschriebene Vorgehensweise zum Erfolg führt. Manchmal hilft auch ein einfacher Reinstall über die Package Manager Console. Und in komplexen Projekt sind auch Szenarien denkbar in den verschiedene Versionen der Assemblies verwaltet werden müssen, weil verschiedene Fremd-Packages zwar dieselben Abhängigkeiten haben, aber die Abhängigkeiten zu verschiedenen Versionen bestehen. Na da Prost Mahlzeit. Glück dem, der das hauptberuflich macht und/oder sich die notwendige Zeit dafür nehmen kann. Das eigentliche Programmieren gerät plötzlich zu Nebensache.

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert