部署和 运行 : Visual Studio 2015 .ASP.Net 核心应用程序到 Linux.. 如何

Deploy and Run : Visual Studio 2015 .ASP.Net Core Application onto Linux.. How

我已经设置了一个 Ubuntu 虚拟机,这样它就可以 运行 一个 ASP.Net 核心虚拟应用程序,通过 Ketrel 和 nginx 使用

处的信息

https://www.microsoft.com/net/core#ubuntuhttps://docs.asp.net/en/latest/getting-started.html

当我这样做时,我 运行

dotnet run 

在应用程序的根目录下,其中包含

bin  
obj
Program.cs    
Startup.cs
project.json  

一切正常。

与此同时,我还设置了 VS2015 并在 Windows 上使用生成了 "hello world" ASP.Net 核心应用程序。 https://docs.microsoft.com/en-us/dotnet/articles/core/tutorials/using-on-windows

调试器运行没问题。

但是,我想做的是 运行 在我设置的 Ubuntu 虚拟机上。
当我发布项目时,根目录不包含我在上面创建的项目中的等效文件,并且 运行ning donet 运行 或 dotnet restore 失败如下

> aec@gfd-Ubuntu-1604-LTS:~/PublishOutput$ dotnet restore warn : The
> folder '/home/bts/PublishOutput' does not contain a project to
> restore. bts@MHR-Ubuntu-1604-LTS:~/PublishOutput$

arc@gfd-Ubuntu-1604-LTS:~/PublishOutput$ dotnet run
The current project is not valid because of the following errors:
/home/bts/PublishOutput(1,0): error DOTNET1017: Project file does not exist '/home/bts/PublishOutput/project.json'.

PublishOutput目录内容如下

arc@gfd-Ubuntu-1604-LTS:~/PublishOutput$ ls 
> AssName.dll 
> AssName.pdb
> Class.deps.json 
> Class.dll 
> Class.pdb 
> Class.runtimeconfig.json
> Microsoft.AspNetCore.Diagnostics.Abstractions.dll
> Microsoft.AspNetCore.Diagnostics.dll
> Microsoft.AspNetCore.Hosting.Abstractions.dll
> Microsoft.AspNetCore.Hosting.dll
> Microsoft.AspNetCore.Hosting.Server.Abstractions.dll
> Microsoft.AspNetCore.Http.Abstractions.dll
> Microsoft.AspNetCore.Http.dll Microsoft.AspNetCore.Http.Extensions.dll
> Microsoft.AspNetCore.Http.Features.dll
> Microsoft.AspNetCore.HttpOverrides.dll
> Microsoft.AspNetCore.Server.IISIntegration.dll
> Microsoft.AspNetCore.Server.Kestrel.dll
> Microsoft.AspNetCore.WebUtilities.dll
> Microsoft.Extensions.Configuration.Abstractions.dll
> Microsoft.Extensions.Configuration.dll
> Microsoft.Extensions.Configuration.EnvironmentVariables.dll
> Microsoft.Extensions.DependencyInjection.Abstractions.dll
> Microsoft.Extensions.DependencyInjection.dll
> Microsoft.Extensions.FileProviders.Abstractions.dll
> Microsoft.Extensions.FileProviders.Physical.dll
> Microsoft.Extensions.FileSystemGlobbing.dll
> Microsoft.Extensions.Logging.Abstractions.dll
> Microsoft.Extensions.Logging.Console.dll
> Microsoft.Extensions.Logging.dll Microsoft.Extensions.ObjectPool.dll
> Microsoft.Extensions.Options.dll
> Microsoft.Extensions.PlatformAbstractions.dll
> Microsoft.Extensions.Primitives.dll Microsoft.Net.Http.Headers.dll
> refs System.Diagnostics.Contracts.dll System.Net.WebSockets.dll
> System.Text.Encodings.Web.dll web.config

是否有任何地方记录的方法详细说明了如何在 VS2015 下的 Windows 上生成和发布 ASP.Net 核心应用程序,然后将其部署并 运行 在 Ubuntu机器?

看看.NET Core Application Deployment article in .Net Core documentation

由于您的应用程序看起来像是一个便携式应用程序(这是默认设置),因此您 运行 它的已发布版本使用 dotnet AssName.dll

步骤如下:

  1. Click On Search On Your Computer or Online
  2. Add Asp.net core
  3. Install and add C# extension.
  4. then Create Application