我已经设置了一个 Ubuntu 虚拟机,以便它可以使用 Ketrel 和 nginx 上的信息运行 ASP.Net Core 虚拟应用程序
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 Core 应用程序。 https://learn.microsoft.com/en-us/dotnet/articles/core/tutorials/using-on-windows
它在调试器中运行良好。
但是,我想做的是在我设置的 Ubuntu VM 上运行它。
当我发布项目时,根目录不包含我在上面创建的项目中的等效文件,并且运行 donet run
或 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 Core 应用程序,然后将其部署并在 Ubuntu 机器上运行?
最佳答案
看看 .NET Core Application Deployment article in .Net Core documentation .
由于您的应用程序看起来像是一个可移植应用程序(默认情况下),您可以使用 dotnet AssName.dll
运行它的发布版本。
关于ubuntu - 在 Linux 上部署并运行 : Visual Studio 2015 . ASP.Net Core 应用程序。如何,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38568892/