我正在尝试在 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/