2017-11-21 5 views
0

Das Visual Studio-Projekt, das ich arbeite, richtet sich an .Net Framework 4.6.2 Version. Ich muss es mit Hilfe einer Bibliothek in eine externe Anwendung integrieren. Die Bibliothek ist nur in Version 4.5.1 targeted verfügbar. Ich kann das gleiche im Visual Studio Projekt der Version 4.6.2 beziehen. Aber nicht sicher über die Kompatibilität bei der Ausführung in der bereitgestellten Umgebung. Ist es ein richtiger Ansatz? Was wäre die Lösung dafür?Kann ich eine Bibliothek verwenden, die auf 4.5.1 .net Framework in einem Visual Studio-Projekt der Version 4.6.2 gerichtet ist

+0

[Siehe hier] (https://docs.microsoft.com/en-us/dotnet/framework/migration-guide/version-compatibility) – john

+0

Dies ist kein Problem. Nur was du falsch machen kannst, ist es nicht zu versuchen. –

Antwort

3

Von MSDN:

Das .NET Framework 4.5 und späteren Versionen sind abwärtskompatibel mit Anwendungen, die mit früheren Versionen von .NET Framework erstellt wurden. Mit anderen Worten, Apps und Komponenten, die mit früheren Versionen erstellt wurden, funktionieren ohne Änderungen in .NET Framework 4.5 und späteren Versionen. Apps werden jedoch standardmäßig mit der Version der Common Language Runtime ausgeführt, für die sie entwickelt wurden. Daher müssen Sie möglicherweise eine Konfigurationsdatei bereitstellen, damit Ihre App unter .NET Framework 4.5 oder späteren Versionen ausgeführt werden kann. Weitere Informationen finden Sie im Abschnitt Version compatibility for apps weiter oben in diesem Artikel.

empfehle ich, den MSDN-Artikel zu lesen, wie es vorschlägt, geht auf die Unterschiede in der Framework-Versionen verursachen Instabilität könnten:

In der Praxis ist diese Kompatibilität von scheinbar belanglosen Änderungen in der gebrochen werden kann .NET Framework und Änderungen in den Programmiertechniken. Beispielsweise können Leistungsverbesserungen in .NET Framework 4.5 eine Racebedingung offen legen, die in früheren Versionen nicht aufgetreten ist.

In vielen Szenarien werden Sie keine Probleme haben, denke ich nicht. Ich habe selbst nie Probleme erlebt, auch nicht mit einer ziemlich großen Bibliothek. Das bedeutet natürlich nicht, dass Sie das nicht tun werden, deshalb befürworte ich Vorsicht.

+0

Danke für die prompte Antwort .. Ich werde das gleiche überprüfen .. – amesh

+2

Dieser Artikel bezieht sich eigentlich auf Code vor 4,5 (gut vor 4 wirklich) ** nicht ** der Unterschied zwischen ** 4.5 und 4.6 **. 4.6 ist eigentlich ein _in-place upgrade_, das alle 4 vollständig überschreibt; 4.5; 4.51; 4.52 derzeit installiert. Siehe _ [.NET NET Versioning und Multi-Targeting - .NET 4.5 ist ein direktes Upgrade auf .NET 4.0] (https://www.hanselman.com/blog/NETVersioningAndMultiTargetingNET45IsAnInplaceUpgradeToNET40.aspx) _ und _ [Ein paar Notizen über .NET Framework 4.6 Setup-Verhalten] (https://blogs.msdn.microsoft.com/astebner/2015/06/17/a-couple-of-notes-about-net-framework-4-6-setup-behaviors /) _. – MickyD

+0

[Gleich mit 4.6] (https://blogs.msdn.microsoft.com/astebner/2015/06/17/a-couple-of-notes-about-net-framework-4-6-setup-behaviors/) , die wie die anderen direkten Upgrades zu ungewöhnlichen Laufzeitverhalten führen können, die vorher nicht vorhanden waren. Wenn nun der ursprüngliche Code 3,5 war, ermöglicht .NET 4 und darüber hinaus, dass mehrere CLRs in demselben Prozess ausgeführt werden, um eine echte Abwärtskompatibilität zu gewährleisten – MickyD

Verwandte Themen