gpt4 book ai didi

asp.net-core-mvc - .NET CLI 如何在 Linux 上发布后运行应用程序

转载 作者:行者123 更新时间:2023-12-04 02:07:06 27 4
gpt4 key购买 nike

我花了大约 4 小时调查,仍然无法找到如何运行已发布的应用程序 (dotnet publish)

现在我可以将源下载到我的远程机器上,然后调用 dotnet builddotnet 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 可移植应用程序开始;普通应用程序):

  • 从所有依赖项中删除 "type": "platform"注释(因此它实际上是自包含的,不再依赖于已安装的 .NET Core 平台)。
  • 将节点运行时添加到您的 project.json(因此 NuGet 能够将必要的平台部分拉到您的本地计算机)
    样本:
    "runtimes": {
    "osx.10.11-x64": { },
    "win10-x64": { },
    "ubuntu.14.04-x64": { }
    }
  • dotnet restore (以确保新的运行时在本地可用)。
  • dotnet build (如果可移植应用程序尚未完成)
  • dotnet publish -r ubuntu.14.04-x64 (把它捆绑起来)
  • 使用能够运行应用程序的平台特定 dotnet 命令查看结果目录。

  • 我按照 .NET Core documentation 中的步骤进行操作.

    关于asp.net-core-mvc - .NET CLI 如何在 Linux 上发布后运行应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37376880/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com