2017-08-04 4 views
0

Ich aktualisiere ein Webprojekt von DotNet 4.6 zu DotNetCore 2.0, und ich beabsichtige, diese Anwendung unter Linux auszuführen. Ich möchte die Aktualisierung von Code auf DotNetCore - wie referenzierte DLLs - aufschieben. Ich habe festgestellt, dass Sie in dieser Antwort auf ältere DLLs in DotNetCore verweisen könnenKann .Net 4.6 unter Linux laufen

Add .NETFramework 4.5 dll to .NETCore project.

Aber ich denke, das wird mir nicht erlauben, auf Linux zu laufen? Ist das richtig? Gibt es einen Weg dazu?

Antwort

1

Sie können möglicherweise solche DLLs auf Linux laufen, wenn sie keine Windows-Plattform spezifische Referenzen nicht enthalten (WinForms, WPF, WCF, XAML, COM):

+0

Dies ist nicht die einzige Einschränkung. Die Assemblys, auf die Sie verweisen, dürfen ** keine API verwenden, die in .NET Standard 2.0 nicht verfügbar ist! Grundsätzlich ist die Möglichkeit, .NET 4.5-Bibliotheken in .NET Core/.NET Standard zu referenzieren, nutzlos und auf Bibliotheken beschränkt, die keine nicht-.NET Core 2.0 API haben und noch nicht für "netstandard2.0" portiert wurden (dh aufgegeben/Verwaiste Bibliotheken, bei denen es unerwartet ist, dass sie jemals ein offizielles Update bekommen, weil sie nicht mehr aktiv gepflegt werden) – Tseng

+0

Sie haben recht, wegen der Einschränkung gibt es einige APIs, die unter Linux nicht verfügbar sind. Es ist nicht wirklich nutzlos, wenn Sie alte Bibliotheken benutzen müssen und nicht die Möglichkeit haben, diese zu portieren. Ich benutze es bei der Portierung von LightCore (https://github.com/juergengutsch/lightcore) nach .NET Standard 2.0 und unterstütze auch alte Verwendungen und Frameworks. –

+0

Meine speziellen DLLs enthalten Business-Layer- und Utility-Code. Ich verwende keine Windows-spezifischen APIs, die ich kenne. Offensichtlich ist frühes Testen mein Freund. –

Verwandte Themen