2017-02-21 151 views
2

我有一個ASP.NET Web應用程序,它在NuGet軟件包的幫助下成功運行在Linux上。我曾經用dnx publish工具來發布,並與命令運行它:如何在Linux上運行ASP.NET Core Web應用程序?

/opt/dnx-mono.1.0.0-rc1-update1/bin/dnx --appbase /path/to/json Microsoft.Dnx.ApplicationHost kestrel 

由於DNX是過時的,我想擺脫它,並遷移到.NET的核心,但它並沒有在Linux上工作了。

重要:我無法創建我的應用程序.NET Core應用程序,因爲它使用了一些仍然不可用於.NET Core的庫(如MySQL.Data)。因此,我創建ASP.NET核心Web應用程序(公告.NET框架):

enter image description here 我遷移的整個應用程序,併成功地在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指南獲得的。任何線索?

+1

'dotnet restore'然後'dotnet run'應該是你在任何平臺上都需要的,但它需要是一個.Net核心應用程序。 – DavidG

回答

2

您無法在Linux上運行以.Net Framework爲完整目標的應用程序,它只能是Core。

+0

1)Mono不會支持以完整.NET框架爲目標的ASP.NET Core Web應用程序? 2)MS沒有制定像我已經成功使用的「dnx-mono」這樣的NuGet軟件包的計劃嗎? –

+0

@MiljenMikic Microsoft使用Mono來引導.NET Core,但現在.NET Core已經完全獨立。請放棄任何帶有DNX名稱的東西,就像現在.NET Core SDK 1.0即將到來(3月7日)一樣,這就是未來。 –

+0

@LexLi我真的想擺脫DNX *的東西,這就是爲什麼我把問題放在第一位。但一個必要的條件是保持我的應用程序仍在工作,目前情況並非如此。 –

相關問題