2010-07-05 5 views
10

Ich habe eine Anwendung in VS2010 entwickelt und kompiliert für die .NET 4.0 als Zielframework. eine Bibliothek in meine Anwendung Nach der Integration, erhalte ich die folgende Fehlermeldung angezeigt, wenn ich versuche zu kompilieren:Downgrade einer Anwendung von .net 4.0 auf 3.5

Montag Mixed-Modus eingebaut ist gegen Version ‚v1.1.4322‘ der Laufzeit und kann nicht ohne in der 4.0-Laufzeit geladen werden zusätzliche Konfigurationsinformationen

Die Bibliothek funktioniert gut unter .NET 3.5, aber wenn ich mein Ziel Framework 3.5 .NET ändern, bekomme ich folgende Fehler für alle meine RESX-Dateien: nicht

Fehler 1 Objektverweis auf eine Instanz eines Objekts festgelegt.

Ich versuchte ctrl-h Version = 4.0.0.0 bis Version = 3.5.0.0, aber das scheint nicht zu funktionieren. Kann ich etwas anderes machen, das eine neue Anwendung erstellt?

Antwort

5

Sie sollten dies mit den Konfigurationseinstellungen in app.Config erledigen können.

Fügen Sie einfach die useLegacyV2RuntimeActivationPolicy="true" Flagge zu Ihrem appConfig in the startup section hinzu. Dies bewirkt, dass die .NET 4-Laufzeit ältere Assemblys im gemischten Modus behandelt.

8

Öffnen Sie Ihre RESX-Datei mit dem XML-Editor anstelle des Ressourceneditors und suchen Sie nach System.Windows.Forms, Version=4.0.0.0. Es sollte 2 Instanzen dieser Zeichenfolge geben. Ersetzen Sie 4.0.0.0 durch 2.0.0.0 und speichern Sie die Datei. Ihre Ressourcen sollten jetzt korrekt funktionieren.

Beachten Sie, dass Sie auch zurück zu .NET 4 gehen und versuchen, die folgendes zu Ihrem App.config hinzuzufügen älteren Baugruppen zu ermöglichen, sich auf die neue Laufzeit auszuführen:

<configuration> 
    <startup useLegacyV2RuntimeActivationPolicy="true"> 
    <supportedRuntime version="v4.0"/> 
    </startup> 
</configuration> 
2

Öffnen Sie die Eigenschaften des Projekts. Wählen Sie dann die Ressourcen aus. Löschen Sie alle Ressourcenbilder und fügen Sie sie erneut ein. Jetzt kompilieren Sie es. Ihr Projekt arbeitet jetzt .. :)

Verwandte Themen