我花了大约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",
}
但它是obsolette,不是吗?
默认样品怎么样?
在默认的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
答案 0 :(得分:11)
执行以下步骤(从RC2便携式应用程序开始;正常的应用程序):
向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
(将其捆绑)我按照.NET Core documentation中的步骤进行了操作。