.NET CLI 如何在 Linux 上发布后 运行 应用程序
.NET CLI how to run app after publish on Linux
我花了 ~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 Core RC2
执行以下步骤(从 RC2 便携式应用程序开始;普通应用程序):
从所有依赖项中删除“type”:“platform”注释(因此它实际上是独立的,不再依赖于已安装的 .NET Core 平台)。
向您的 project.json 添加节点 运行 次(以便 NuGet 能够将必要的平台部件拉到您的本地计算机)
样本:
"runtimes": {
"osx.10.11-x64": { },
"win10-x64": { },
"ubuntu.14.04-x64": { }
}
dotnet restore
(以确保新的 运行times 在本地可用)。
dotnet build
(如果便携式应用程序尚未完成)
dotnet publish -r ubuntu.14.04-x64
(捆绑起来)
使用特定于平台的 dotnet 命令查看结果目录,该命令能够 运行 应用程序。
我按照 .NET Core documentation 中的步骤操作。
我花了 ~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 Core RC2
执行以下步骤(从 RC2 便携式应用程序开始;普通应用程序):
从所有依赖项中删除“type”:“platform”注释(因此它实际上是独立的,不再依赖于已安装的 .NET Core 平台)。
向您的 project.json 添加节点 运行 次(以便 NuGet 能够将必要的平台部件拉到您的本地计算机)
样本:
"runtimes": { "osx.10.11-x64": { }, "win10-x64": { }, "ubuntu.14.04-x64": { } }
dotnet restore
(以确保新的 运行times 在本地可用)。dotnet build
(如果便携式应用程序尚未完成)dotnet publish -r ubuntu.14.04-x64
(捆绑起来)使用特定于平台的 dotnet 命令查看结果目录,该命令能够 运行 应用程序。
我按照 .NET Core documentation 中的步骤操作。