部署和 运行 : 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#ubuntu
和
https://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
。
步骤如下:
- Click On Search On Your Computer or Online
- Add Asp.net core
- Install and add C# extension.
- then Create Application
我已经设置了一个 Ubuntu 虚拟机,这样它就可以 运行 一个 ASP.Net 核心虚拟应用程序,通过 Ketrel 和 nginx 使用
处的信息https://www.microsoft.com/net/core#ubuntu 和 https://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
。
步骤如下:
- Click On Search On Your Computer or Online
- Add Asp.net core
- Install and add C# extension.
- then Create Application