c# - 在 .NET core 下的 Linux 上运行 .NET 4.5

标签 c# asp.net .net linux containers

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

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

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

由于我们的代码适用于 .NET 4.5,因此我将 project.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

所以它正确地尝试在 Framework 4.5.1 下运行,但未安装 Framework 时出错。这就是我卡住的地方,无法弄清楚如何安装 4.5.1 框架。我认为在 project.json 中设置它会导致在运行 dotnet restore 时下载并安装它。

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

** 作为 FYI,我正在 Docker 容器中运行我的测试 **

最佳答案

您无法在 Linux 上安装和运行 .NET 4.5。 (它只运行 .NET Core,之前称为 5.0,现在称为 1.0)。

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

关于c# - 在 .NET core 下的 Linux 上运行 .NET 4.5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38061429/

相关文章:

仅在命令行构建时出现 Asp.Net aspparse 循环引用错误

C# - 使用数据库中的数据填充列表

c# - 何时连接事件处理程序 asp.net

C# .NET 通过网络在计算机之间进行通信

c# - c#.net 中的 App 和 Application 有什么区别?

c# - 使用 Task.WhenAny 计算超时时如何获取任务结果

c# - 复选框更改事件未触发动态添加的控件

c# - 在 ASP.NET 中使用 WordPress RSS 提要

c# - 如何在 Unity 中设置每周重复推送通知(C#,当前针对 iOS)?

c# - 我应该处理 System.Windows.Media.Pen 吗?