.net - 使用 .Net Core 运行 .Net Framework 应用程序(在 Linux 上)
问题描述
我们有一些使用 .Net Framework 开发的控制台应用程序。我们曾经在 Windows 上运行它们,但现在我们想尝试使用 .Net Core。到目前为止,这种极其简单的方法运行良好(在 Core 2.2 上运行 Framework 4.5.1 应用程序):
将应用程序及其所有依赖项复制到 Linux。
将
runtimeconfig.json
文件从 Hello World .Net Core 示例复制到应用程序目录并相应地重命名。只需
dotnet ./app.exe
在 Linux 上从该目录运行即可。
我发现它在不为新目标重建的情况下工作真的很令人惊讶。但我怀疑这种方法可能存在隐藏的问题或局限性。一方面,如果应用程序使用 Core 之外的东西(比如 WPF),它显然不会运行。
使用 .Net Core 运行 .Net Framework 应用程序的确切条件是什么?有什么特定于 Linux 的吗?或者对于特定版本的框架/核心?
解决方案
您将遇到的主要问题是您需要在要运行应用程序的任何 Linux 安装上安装 dotnet 运行时,否则您必须直接为每个支持的平台构建二进制文件,目前是 Ubuntu 、Debian、Fedora、Red Hat Enterprise Linux、OpenSUSE、Cent OS 和 SLES。总的来说,.NET Framework 中唯一不能直接工作的 2 个常用的东西是 Entity Framework,你需要使用 Entity Framework Core;以及任何与 UI 相关的内容。一般来说,CLI 应用程序应该可以正常工作,但可能需要进行一些调整。
推荐阅读
- authentication - tableau iframe 调用提示登录
- typescript - 将接口导出为部分
- postgresql - 当创建新的 Pod 实例时,.Net Core 连接池在重负载峰值下耗尽(postgres)
- php - 在打开页面时使用 AJAX 将数据从 mysql 数据库显示到 php html
- java - 如何在 android 中的启动画面活动后开始登机活动?
- image - JPG 到 4 位彩色 COE/文本文件
- reactjs - 使用 docker 和 nginx 部署的 React 应用程序:/etc/nginx/conf.d/default.conf 与软件包不同
- powershell - PS:从文本文件创建多维数组 - Cisco Switch Config
- java - Spring 中未从 data.sql 加载初始数据
- reactjs - 如何使用酶笑话检查条件渲染?