我正在尝试在 Linux 环境 (Centos7) 中运行在 .NET Framework 4.5 (Windows) 中编写的应用程序。
我尝试过 mono 和 xsp4,但我有以下疑问:
- Mono 和 xsp4 是在 .Net 中执行代码的最佳应用程序?
- 我应该先在 Linux 中编译 *.cs 吗?
- 可以在Linux中直接运行windows中生成的publish文件夹吗 (如果是的话)?
- 我可以在 asp.net 中运行 .net 制作的应用程序
问候
最佳答案
为标准 .NET 框架编写的应用程序无法在 Linux 中运行;您可以尝试在 Mono 中运行它们,但它在支持方面有许多限制。如果您想保证支持,最好使用 Monodevelop 编译您的应用程序,这样它将针对该运行时进行编译。这也是执行此操作的“旧”方法。
您应该做的是针对.NET Core;它被设计为在其他操作系统(包括许多 Linux 发行版)上运行。当您这样做时,您将为您的发行版添加运行时标识符并发布到它;生成将在该平台上使用 dotnet
命令运行的二进制文件。
请注意,在生产中使用 .NET Core 时,您需要为“生产就绪”的 Web 服务器(例如 IIS、Apache 或 Nginx)设置反向代理,因为这些服务器已针对攻击进行了强化,但 Kestrel 服务器尚未做到这一点。
关于c# - 在 Linux 上运行 ASP.NET 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49945072/