【发布时间】:2017-02-21 15:13:40
【问题描述】:
在dnx-mono NuGet 包的帮助下,我有一个在 Linux 上成功运行的 ASP.NET Web 应用程序。我曾经使用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 指南获得的。有什么线索吗?
【问题讨论】:
-
dotnet restore然后dotnet run应该是您在任何平台上所需要的,但它需要是一个 .Net Core 应用程序。
标签: asp.net .net .net-core dnx