Asp.net-Core-Mvc

.NET CLI 如何在 Linux 上發布後執行應用程序

  • May 22, 2016

我花了大約 4 個小時調查,但仍然無法找到如何執行已發布的應用程序 ( dotnet publish)

現在我可以將源下載到我的遠端機器,然後呼叫-dotnet build然後dotnet run我的應用程序按預期執行。但我只想將 DLL(或 *.so ?)發佈到我的 VPS,而不需要源文件。

**官方文件怎麼說?**在 project.json 中定義命令

"commands": {
   "web": "Microsoft.AspNet.Server.Kestrel --server.urls http://unix:/var/aspnet/HelloMVC/kestrel.sock",
}

但它已經過時了,不是嗎?

預設樣本呢?

在預設的 VS2015 範例解決方案中,他們使用 publish-iis、完整的 .NET 框架和 IIS 伺服器,但沒有關於在 linux 上部署的內容。

postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ]

這是我的 dotnet 資訊

.NET Command Line Tools (1.0.0-preview1-002702)

Product Information:
Version:     1.0.0-preview1-002702
Commit Sha:  6cde21225e

Runtime Environment:
OS Name:     Windows
OS Version:  10.0.10586
OS Platform: Windows
RID:         win10-x64

.NET 核心 RC2

執行以下步驟(從 RC2 可移植應用程序開始;普通應用程序):

  1. 從所有依賴項中刪除 “type”: “platform” 註釋(因此它實際上是自包含的,不再依賴於已安裝的 .NET Core 平台)。
  2. 將節點執行時添加到您的 project.json(因此 NuGet 能夠將必要的平台部分拉到您的本地電腦)

樣本:

"runtimes": {
 "osx.10.11-x64": { },
 "win10-x64": { },
 "ubuntu.14.04-x64": { }
}
  1. dotnet restore(以確保新的執行時在本地可用)。
  2. dotnet build(如果攜帶式應用程序尚未完成)
  3. dotnet publish -r ubuntu.14.04-x64(把它捆綁起來)
  4. 使用能夠執行應用程序的平台特定 dotnet 命令查看結果目錄。

我按照.NET Core 文件中的步驟進行操作。

引用自:https://stackoverflow.com/questions/37376880