2016-04-11 9 views
2

umgewandelt wird ich eine teilweise Antwort auf meine Frage in diesem Thread gefunden habe:.net Dll zeigt Framework 4.0 nach 4.5.2

Here on stackoverflow cannot change target framework...

In meinem Fall hat der Rahmen erfolgreich umgesetzt worden 4.5.2, und setzen Sie eine Methode mit async und erwarten, dass ich sicher bin, sind Teil des Framework 4.5, die Methode wird erfolgreich von einer Exe referenziert die Bibliothek ausgeführt. Ich kann also annehmen, dass die Bibliothek wirklich mit dem Framework 4.5.2 kompiliert wurde.

Wenn jedoch in einem anderen Projekt referenziert wird, zeigt die Bibliothek in ihren Eigenschaften, dass sie unter Framework 4.0 kompiliert wurde. und wenn der Debugger die Assembly lädt, wird ausgedruckt, dass sie unter Framework 4.0 kompiliert wurde ... Wer hat also recht? Mein Code, der die Methoden von Framework 4.5 ausführt, oder die Strings, die die Bibliothek beschreiben, befinden sich auf Framework 4.0?

Ich habe überprüft, was in meinen Fähigkeiten möglich ist, wenn es .targets Dateien in meiner Installation gibt, und ja, es gibt zwei, unter den temporären Msbuild-Ziele Ordner, Microsoft.Common.targets und Microsoft.CSharp.targets , aber ich kann nicht verstehen, ob diese Dateien den Compiler zwingen, Framework 4.0 zu verwenden. Hauptsächlich weil ich auf dieser Maschine direkt im Visual Studio kompiliere.

Ich habe mehrere Lösungen mit Komponentenbibliotheken kompiliert 4.5.2, die korrekt funktionieren. Ich weiß also nicht wirklich, wie ich sicher sein kann, dass meine Bibliothek unter dem richtigen Framework kompiliert ist und dass die Bibliothek in ihren Eigenschaften und beim Laden das richtige Framework zeigt.

Wenn jemand eine Ahnung hat, wie man das erreicht, danke im Voraus.

Antwort

4

Wenn Ihre Projekteigenschaften angeben, dass Sie auf .NET 4.5.2 abzielen, wird es für die Verwendung mit .NET 4.5.2 und höher entwickelt.

Vielleicht haben Sie eine Verwechslung mit CLR und Framework-Versionen. .NET 4.x (any) arbeitet mit CLR (d. H. Common Language Runtime) 4.0.

Überprüfen Sie .NET Framework Versions and Dependencies, um weitere Details zu diesem Thema zu erhalten.

+0

Vielen Dank für die Beruhigung, ich habe erwartet, dass die 4.5.2 Version des Frameworks im Eigenschaftsbereich der Bibliotheken gefunden wurde und ich vermute, dass die Dateien korrekt waren, da der Test mit async funktioniert, aber bevor die Software an meine Kunden freigegeben wurde Ich bin lieber sicher. Danke nochmal, dass du dir die Zeit genommen hast zu antworten. –

Verwandte Themen