.NET4.6能在linux上运行吗

.NET4.6能在linux上运行吗,.net,linux,asp.net-core,.net,Linux,Asp.net Core,我正在将一个web项目从Dotnet4.6升级到DotnetCore2.0,并打算在Linux上运行此应用程序。我想推迟将一些代码升级到DotNetCore,比如引用的DLL。我发现您可以在这个答案中引用DotNetCore中较旧的DLL 但是,我猜这将不允许我在Linux上运行?是这样吗?有什么办法可以解决这个问题吗?如果这些DLL不包含任何windows平台特定的引用(WinForm、WPF、WCF、XAML、COM),您可以在Linux上运行这些DLL: 这不是唯一的限制。您引用的

我正在将一个web项目从Dotnet4.6升级到DotnetCore2.0,并打算在Linux上运行此应用程序。我想推迟将一些代码升级到DotNetCore,比如引用的DLL。我发现您可以在这个答案中引用DotNetCore中较旧的DLL


但是,我猜这将不允许我在Linux上运行?是这样吗?有什么办法可以解决这个问题吗?

如果这些DLL不包含任何windows平台特定的引用(WinForm、WPF、WCF、XAML、COM),您可以在Linux上运行这些DLL:


这不是唯一的限制。您引用的程序集不得使用.NET标准2.0中不可用的任何API!基本上,在.NET Core/.NET标准中引用.NET 4.5库的功能是无用的,并且仅限于那些没有任何非.NET Core 2.0 API且尚未为
netstandard2.0
进行移植的库(即废弃的/孤立的库,在这些库中,由于不再积极维护,因此无法获得正式更新)你是对的,由于限制,还有一些API在Linux上不可用。如果您需要使用旧库而没有机会移植它们,那么它并不是真的没用。我在将LightCore()移植到.NET Standard 2.0时使用了它,还支持旧用法和框架。我的特定DLL包含业务层和实用程序类型代码。据我所知,我没有使用任何特定于Windows的API。显然,早期测试是我的朋友。@DannyEllisJr:您应该安装VS 2017扩展,然后针对要与.NET 2.0/.NET标准2.0配置文件一起使用的程序集运行它。如果它显示任何不可用的API,您可能会在使用它时遇到问题,需要首先将其移植到.NET标准2.0,或者确保不从代码中调用该API(除非您有权访问源代码,否则不太容易,但之后您可以轻松地将其编译到.NET标准2.0)