Die Mixed-Mode-Assembly wurde für Version 2.0.50727 der Laufzeit erstellt und kann in der 4.0-Laufzeit nicht geladen werden

Ich verwende Visual Studio 2012 und .Net Framework 4.5. Ich habe 2 Lösungen: 1) WPF-Anwendung 2) Klassenbibliothek (DLL)

Die Klassenbibliothek enthält 3 Schaltflächen und ein Steuerelement, das sich in einem WindosFormsHost-Steuerelement befinden muss, da es für WinForms erstellt wurde.

Die einzigen Assemblys, auf die außerhalb von .NET Framework verwiesen wird, sind für das oben genannte Winforms-Steuerelement und iTextSharp.

Das winforms-Steuerelement scheint ein bisschen alt zu sein, und als ich den Verweis in meine DLL einfüge, erhalte ich denselben Fehler wie der Titel, aber nach anderen SO-Fragen / Antworten füge ich diesen in meine Konfigurationsdatei ein:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup useLegacyV2RuntimeActivationPolicy="true"> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
    </startup>
</configuration>

Der Fehler:

Die Mixed-Mode-Assembly wurde für die Version 'v2.0.50727' der Laufzeit erstellt und kann ohne zusätzliche Konfigurationsinformationen nicht in die 4.0-Laufzeit geladen werden

Wie bereits erwähnt, habe ich beim Posten dieses Problems Fragen gesehen, die das Problem in meinem DLL-Projekt behoben haben. In dem Projekt, in dem diese DLL verwendet wurde, habe ich sie alle ohne Erfolg ausprobiert. Als Referenz:

Welche zusätzliche Konfiguration ist erforderlich, um auf eine .NET 2.0-Assembly im gemischten Modus in einem .NET 4.0-Projekt zu verweisen?Die Mixed-Mode-Assembly wurde für die Laufzeitversion 'v2.0.50727' erstelltWas macht 'useLegacyV2RuntimeActivationPolicy' in der .NET 4-Konfiguration?Die Mixed-Mode-Assembly wurde für die Version 'v2.0.50727' der Laufzeit erstellt und kann in der 4.0-Laufzeit nicht geladen werdenDie Mixed-Mode-Assembly wurde für Version X erstellt und kann ohne zusätzliche Konfigurationsinformationen nicht in Version Y der Laufzeit geladen werden

In diesem Projekt hat meine Konfigurationsdatei genau dieselben Tags mit denselben Werten.

Außerdem habe ich in meiner WPF-Anwendung zu Beginn eine Fehlermeldung erhalten, dass die angegebene DLL (für das Winforms-Steuerelement) nicht gefunden werden konnte. Am Ende habe ich die DLL dieses Steuerelements in den GAC eingefügt.

Ich habe versucht, mein Zielframework für alle Möglichkeiten (4.5, 4.0 voll und Client, 3.5 voll und Client, 3.0 und 2.0) zu ändern, meine DLL in Debug und Release zu erstellen und die "Generate Serialization Assembly" ebenfalls auf OFF zu setzen änderte das Plattformziel von "Beliebige CPU" auf "x86" und "x64". Ich habe jeweils nur versucht, den Wert einer Einstellung zu ändern.

Ist dies ein Problem in VS2012 oder was muss ich tun, um dieses Problem zu lösen?

BEARBEITEN:

Der obige Fehler wird zur Entwurfszeit in der Fehlerliste angezeigt. Der Designer meldet den Fehler "Eine Instanz von 'my_class' kann nicht erstellt werden".

Die innere Ausnahme lautet: "Set connectionId hat eine Ausnahme ausgelöst" und die innere Ausnahme ist die Titelmeldung.

Auf diese Weise kann die Lösung immer noch erstellt werden, und beim Ausführen der Anwendung erhalte ich im Grunde das Gleiche, mit der Ausnahme, dass in der innersten Ausnahme Folgendes angegeben ist:

"Datei oder Assembly 'SigPlusNET, Version = 1.1.3358.14336, Culture = neutral, PublicKeyToken = 6aef07010bb0624f' oder eine seiner Abhängigkeiten konnte nicht geladen werden. Es wurde versucht, ein Programm mit einem falschen Format zu laden."

Bei diesem handelt es sich um die Assembly des winForms-Steuerelements. Bei der Überprüfung durch dotPeek bestehen lediglich .NET Framework-Abhängigkeiten

Antworten auf die Frage(3)

Ihre Antwort auf die Frage