2016-04-26 68 views
2

我有一個應用程序,我在asp.net 4.5中開發,我想將它移到asp.net核心並在Linux服務器(ubuntu)上運行。將.net Core web應用程序部署到Ubuntu linux

我一直有很多challanges和不幸的是目前的文檔是沒有用的。

所以......

我應該如何打包應用程序?

的技術文檔建議您使用以下命令

建設DNU發佈--runtime DNX-coreclr-Linux的x64.1.0.0-RC1-UPDATE1

但是我在想這我的本地機器,它沒有選擇部署Linux版本。當我在服務器上運行時,會出現一些問題(稍後介紹)。所以我應該在服務器上做這個或者在本地機器上工作。

注:我讀過另一個堆棧溢出問題,只要它的coreclr無論它的win還是linux都沒關係?

我想在回答這個問題後會出現更多的問題。我有很多關於Core的問題我想知道是否有人真正地在應用程序上部署到Linux環境!

任何幫助將不勝感激!

更新

提供本地機器上的進一步信息目前運行時間...

活動版本運行架構位置別名
------ ------- - ------ ------------ -------- -----
1.0.0-beta5 clr x64 C:\ Users \ Alex.dnx \ runstimes
1.0.0-beta5 clr x86 C:\ Users \ Alex.dnx \ runstimes
1.0.0-beta5 coreclr x64 C:\ Us ERS \ Alex.dnx \運行時將
1.0.0-β5coreclr 86 C:\用戶\ Alex.dnx \運行時
1.0.0-RC1-UPDATE1 CLR 64 C:\用戶\ Alex.dnx \運行時
1.0 .0-rc1-update1 clr x86 C:\ Users \ Alex.dnx \ runstimes
1.0.0-rc1-update1 coreclr x64 C:\ Users \ Alex.dnx \ runstimes
1.0.0-rc1-update1 coreclr x86 C:\ Users \ Alex.dnx \ runstimes
* 1.0.0-rc1-update2 clr x86 C:\ Users \ Alex.dnx \ runtimes默認 1.0.0-rc1-update2 coreclr x86 C:\ Users \ Alex。 dnx \ runstimes

我想將它編譯爲coreclr linux .... h但是當我在上面運行dnu publish命令時,它說運行時不存在,即使我從nuget更新coreclr?

當我構建它時,是否需要指定一個操作系統(linux或windows),或者如果它的coreclr在單獨發佈的應用程序上運行?

在導入到Azure的部署,但到Linux

+0

你從來沒有真正說過你會得到什麼錯誤。是的,人們可以並已經將他們的應用程序部署到Linux。如果你還在學習ASP.NET,那麼最好不要使用那些仍在流行且缺乏文檔的流血的東西。 – mason

+0

希望額外的信息提供進一步的信息。鉭 –

回答

3

OK時,不工作這運行正常,這裏是如何:

  1. 安裝Visual Studio 2017年(與.NET核心)
  2. 創建您的項目,並讓它在Windows上編譯
  3. 編譯並運行後,請確保您可以從Visual Studio發佈它
  4. 一旦您可以發佈它從Visual Studio,關閉Visual Studio並執行以下操作

    開放的cmd.exe(windows鍵+ R)
    CD 「你的.sln文件的目錄」
    DOTNET恢復-r ubuntu.16.04-64
    DOTNET構建-r ubuntu.16.04-64
    DOTNET發佈-f netcoreapp1.1 -c釋放-r ubuntu.16.04-64

  5. 您的應用程序現在應該在文件夾斌/發佈

可以獲得RID列表(-r)herehere

如果你想在Linux上開發,運行

apt-get install dotnet-dev-1.0.1 

和DOTNET效用應該在Linux上運行。

請注意,如果你得到

C:\ PROGRAM 文件\ DOTNET \ SDK \ 1.0.0 \ Microsoft.Common.CurrentVersion.targets(2865,5): 錯誤MSB3554:無法寫入輸出文件「C:\ path \ to \ your \ project \ obj \ Debug \ netcoreapp1.1 \ YOUR_APP.Properties.Resources.resources」。 需要正數。

構建失敗。

當您運行構建或發佈命令時,只需再次運行該命令。

相關問題