![Windows zu Wine | Es tritt die Ausnahme „Datei oder Assembly [usw.] konnte nicht geladen werden“ auf.](https://rvso.com/image/1566077/Windows%20zu%20Wine%20%7C%20Es%20tritt%20die%20Ausnahme%20%E2%80%9EDatei%20oder%20Assembly%20%5Busw.%5D%20konnte%20nicht%20geladen%20werden%E2%80%9C%20auf..png)
In diesem Fall geht es darum, ein Programm zu schreiben, das letztendlich Mono verwenden wird, bis dahin aber Wine als Ersatz nutzt.
Derzeit besteht ein Problem mit einer bestimmten Referenz:
Die Datei oder Assembly Microsoft.Extensions.Logging.Abstractions.dll 'version=1.0.0.0 [etc]' oder eine ihrer Abhängigkeiten konnte nicht geladen werden. Die Manifestdefinition der gefundenen Assembly stimmt nicht mit der Assemblyreferenz überein.
Meine bisherigen Versuche, die Assembly Binding Redirection mit dieser Referenz zu verwenden, haben das Problem nicht gelöst. Selbst das Ändern der referenzierten Versionsnummer auf 1.0.0.0 führt stattdessen zu der Meldung, dass die Version 2.1.0.0 nicht geladen werden kann.
Das Neukompilieren des Programms nach dem Löschen des /bin-Ordners und Aktualisieren der Referenzen mit Nuget hat das Problem nicht gelöst.
Es funktioniert in der nativen Windows-Umgebung, also scheint es vielleicht Wine-spezifisch zu sein?
Antwort1
Aktualisieren
In diesem speziellen Fall konnte das Problem durch die Verwendung eines neuen Wine-Präfixes und einer Neuinstallation bestimmter Komponenten winetricks
behoben werden.
Weitere Schritte
In Verbindung damit wurden, wie in der Frage erwähnt, die Referenzen aktualisiert, bevor ein neues Präfix verwendet wurde. Außerdem Assembly Binding Redirection
wurde es bereits auf die erwähnte Referenz angewendet, sodass es nicht manuell durchgeführt werden musste (die Änderungen, die zuvor zum Zeitpunkt der Veröffentlichung der Frage getestet wurden, wurden auf die Standardeinstellungen zurückgesetzt).
Ein letzter Hinweis: Dies Wine-Mono
war nicht erforderlich und wurde dem neuen Wine-Präfix nicht hinzugefügt, auch nicht, um zu testen, ob es zuvor Fehler verursachte (was vielleicht unwahrscheinlich ist).