我有一个 ASP.NET Web 应用程序,在 dnx-mono 的帮助下成功在 Linux 上运行。 NuGet 包。我曾经使用 dnx publish
发布它工具并使用以下命令运行它:
/opt/dnx-mono.1.0.0-rc1-update1/bin/dnx --appbase /path/to/json Microsoft.Dnx.ApplicationHost kestrel
由于 dnx 已过时,我想摆脱它并迁移到 .NET Core,但它在 Linux 上不再工作。
重要:我无法将我的应用程序设为 .NET Core 应用程序,因为它使用了一些仍不适用于 .NET Core 的库(如 MySQL.Data)。因此,我创建 ASP.NET Core Web 应用程序(注意 .NET Framework):
我迁移了整个应用程序并在 Windows 上成功运行它,但我的目标是 Linux。没有了 dnx publish
,没问题 - 有dotnet publish
它运行良好并生成二进制文件。现在怎么办? Dnx-mono 包没有“dotnet-something”后继者,并且使用 dotnet
使用已发布的二进制文件的命令产生了我无法解决的错误( The library 'libhostpolicy.so' required to execute the application was not found
),但我认为我什至不应该使用 dotnet
带有独立二进制文件的命令。谷歌搜索没有帮助,因为大多数教程都专注于 .NET Core 的 ASP.NET Web 应用程序,而不是 .NET Framework。 Linux 版本是 Debian 8,dotnet
命令是通过以下 this 获得的指导。有什么线索吗?
最佳答案
您无法在针对完整 .Net Framework 的 Linux 上运行应用程序,它只能是 Core。
关于asp.net - 如何在Linux上运行ASP.NET Core Web应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42371119/