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

Asp.net core mvc .NET CLI在Linux上发布后如何运行应用程序,asp.net-core-mvc,.net-core,.net-core-rc2,Asp.net Core Mvc,.net Core,.net Core Rc2,我花了约4个小时的时间进行调查,仍然无法找到如何运行已发布的应用程序(dotnet publish) 现在我可以将源代码下载到远程机器上,然后调用dotnet build和dotnet run——然后我的应用程序按预期运行。但我只想将DLL(或*.so?)发布到我的VPS,而不需要源文件 官方文档怎么说?在project.json中定义命令 "commands": { "web": "Microsoft.AspNet.Server.Kestrel --server.urls http:/

我花了约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示例解决方案中,他们使用发布iis、完整的.NET framework和iis服务器,但在linux上的部署没有任何内容

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

这是我的网络信息

.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核心平台)

  • 在project.json中添加一个节点运行时(这样NuGet就能够将必要的平台部件拉到本地机器上)

    样本:

    "runtimes": {
      "osx.10.11-x64": { },
      "win10-x64": { },
      "ubuntu.14.04-x64": { }
    }
    
  • dotnet restore
    (以确保新运行时在本地可用)

  • dotnet构建
    (如果尚未为便携应用程序完成)


  • dotnet publish-r ubuntu.14.04-x64
    (打包)

  • 使用能够运行应用程序的特定于平台的dotnet命令查看结果目录


  • 我遵循了。

    中的步骤,您需要将RID添加到名为runtimes的节点下的project.json中。还有发布(别忘了从依赖项中删除“类型”:“平台”之类的东西。dotnet publish-r ubuntu.14.04-x64适合我。好的,现在我把所有这些文件都放在“发布”下了文件夹。我将这些文件上传到我的ubuntu服务器并调用了dotnet run命令,但仍然没有结果-我得到的对象引用没有设置为对象的实例。我做错了什么?你在本地调用了吗?或者你的共享框架安装?这不应该有什么区别。谢谢你,伙计,我没有将Foobar.dll设置为参数,t这就是问题所在。现在它可以工作了。你能告诉我为什么设置DLL的名称很重要吗?因为“dotnet运行”在我的本地开发环境中可以正常工作。在NET.Core Final中,运行“published”DLL您需要使用
    dotnet mydll.DLL运行它,而不使用
    run
    关键字,请参阅官方文档中的信息-指向.NET核心文档的链接已断开。