在Linux上运行.net 4.5内核

本文关键字:内核 net 运行 Linux | 更新日期: 2023-09-27 17:52:52

我正在尝试在Linux上移植/运行一个在。net 4.5下编写的应用程序。

首先,我绝不是一个。net程序员。我工作的地方有软件开发人员处理这个问题,但他们甚至不愿意调查让代码在Linux上运行的可能性。因此,我试图看看我是否至少可以让应用程序编译并运行,希望它能吸引他们进一步研究它。

因此,我在我的机器上安装了。net核心实用程序,并创建了一个简单的Hello World应用程序(dotnet new)。这可以在。net Core 1.0框架下运行(我的理解是。net 5.0)。

由于我们的代码是为。net 4.5,我更新了我的项目。将Json转换为以下

{
  "version": "1.0.0-*",
  "buildOptions": {
    "emitEntryPoint": true
  },
  "dependencies": {
    "System.Reflection": "4.0.0"
  },
  "frameworks": {
    "net451": {}
  }
}

当我尝试编译/运行时,我得到以下内容:

Project hwapp (.NETFramework,Version=v4.5.1) will be compiled because expected outputs are missing
Compiling hwapp for .NETFramework,Version=v4.5.1
/Users/ceronim/tmp/hwapp/project.json(10,16): error DOTNET1011: Framework not installed: .NETFramework,Version=v4.5.1 in 
Compilation failed.
    0 Warning(s)
    1 Error(s)
Time elapsed 00:00:00.0231976

所以它是正确地尝试在框架4.5.1下运行,但错误与框架未安装。这就是我被卡住的地方,还没能弄清楚如何安装4.5.1框架。我想把它放在项目里。当运行dotnet restore时,Json会导致它被下载并安装。

如有任何帮助,不胜感激。

**作为一个仅供参考,我在Docker容器内运行我的测试**

在Linux上运行.net 4.5内核

你不能在Linux上安装和运行。net 4.5。(它只运行。net Core,之前叫5.0,现在叫1.0)

您需要一台Windows机器(或VM)来运行4.x。

http://developers.redhat.com/blog/author/donschenck/

遵循这个指南非常有用,并且实际上解释了我的问题。

Rick指出,4.5只在Windows上运行。所以你需要确保代码是为。net core 1.0编译的。