使用.Net Core(在Linux上)运行.Net Framework应用程序

时间:2019-05-17 04:28:33

标签: .net linux .net-core

我们有一些使用.Net Framework开发的控制台应用程序。我们曾经在Windows上运行它们,但是现在我们想尝试使用.Net Core。到目前为止,这种可笑的简单方法可以正常工作(在Core 2.2上运行Framework 4.5.1应用程序):

  1. 将具有所有依赖项的应用程序复制到Linux。

  2. runtimeconfig.json文件从Hello World .Net Core示例复制到应用程序目录并相应地重命名。

  3. 只需在Linux上的该目录中运行dotnet ./app.exe

我感到非常惊奇的是,它无需重新构建新目标即可工作。但是我怀疑这种方法可能存在隐藏的问题或局限性。一方面,如果应用程序使用Core以外的功能(例如WPF),显然它将无法运行。

使用.Net Core运行.Net Framework应用程序的确切条件是什么? Linux特有的内容吗?还是特定版本的Framework / Core?

1 个答案:

答案 0 :(得分:1)

您将要遇到的主要事情是,您需要在要运行该应用程序的任何Linux安装上安装dotnet运行时,否则您必须直接为每个受支持的平台构建二进制文件。目前包括Ubuntu,Debian,Fedora,Red Hat Enterprise Linux,OpenSUSE,Cent OS和SLES。通常,只有两种无法直接工作的常用.NET Framework东西是实体框架,您需要使用实体框架核心;以及任何与UI相关的内容。通常,CLI应用程序应该可以正常工作,但可能需要进行一些调整。