Windows zum Wein | Beim Abruf der Fehlermeldung "Datei oder Assembly [etc] konnte nicht geladen werden"

368
DaFuze

In diesem Fall muss ein Programm geschrieben werden, das schließlich Mono verwenden wird, aber bis dahin wird Wine als Ersatz verwendet.

Derzeit gibt es ein Problem mit einer bestimmten Referenz:

Microsoft.Extensions.Logging.Abstractions.dll "version = 1.0.0.0 [etc]" oder eine ihrer Abhängigkeiten konnte nicht geladen werden. Die Manifestdefinition der lokalisierten Assembly stimmt nicht mit der Assemblyreferenz überein

Bei meinen Versuchen konnte die Verwendung der Assembly-Bindungsumleitung mit diesem Verweis bisher nicht gelöst werden. selbst wenn Sie die referenzierte Versionsnummer auf 1.0.0.0 ändern, kann die Version 2.1.0.0 nicht geladen werden.

Das Neukompilieren des Programms nach dem Löschen des Ordners / bin und dem Aktualisieren der Verweise mithilfe von Nuget hat das Problem nicht gelöst.

Es funktioniert in der nativen Windows-Umgebung, so scheint dies vielleicht weinspezifisch zu sein?

0
Ich stimme dafür, diese Frage als Off-Topic zu schließen, da dies Windows-spezifisches Wissen ist, unabhängig davon, ob Wine verwendet wird oder nicht. Diese Frage ist wahrscheinlich eher für unsere Schwester-Site Superuser geeignet Rui F Ribeiro vor 6 Jahren 3
Ah macht Sinn, dass die Verwendung von Wine dies hier nicht unbedingt qualifiziert vor 6 Jahren 0
Haben Sie Wine-Mono für die .NET-Kompatibilität geladen? fixer1234 vor 6 Jahren 0
@ fixer1234 Ja, das wine-mono-Paket ist im Präfix installiert, auch vor der Installation, bis der Mono-Port fertig ist. Mono funktioniert zumindest für sich nicht, da das Programm Windows-APIs (über NAudio) verwendet. DaFuze vor 6 Jahren 0

1 Antwort auf die Frage

0
DaFuze

Aktualisieren

In diesem besonderen Fall konnte durch die Verwendung eines neuen Wine-Präfixes bei einer Neuinstallation bestimmter Komponenten winetricksdas Problem gelöst werden.

Weitere Schritte

Vor der Verwendung eines neuen Präfixes, wie in der Frage erwähnt, wurden die Referenzen aktualisiert. Wurde auch Assembly Binding Redirectionbereits auf die erwähnte Referenz angewendet, sodass keine manuelle Änderung erforderlich war (die Änderungen, die zum Zeitpunkt der Veröffentlichung der Frage getestet wurden, wurden auf die Standardwerte zurückgesetzt).

Eine letzte Anmerkung ist, dass dies Wine-Mononicht erforderlich war und nicht zum neuen Wine-Präfix hinzugefügt wurde, auch um zu testen, ob zuvor Fehler aufgetreten waren (möglicherweise unwahrscheinlich).