ubuntu - 在 Linux 上部署并运行 : Visual Studio 2015 . ASP.Net Core 应用程序。如何

标签 ubuntu visual-studio-2015 .net-core

我已经设置了一个 Ubuntu 虚拟机,以便它可以使用 Ketrel 和 nginx 上的信息运行 ASP.Net Core 虚拟应用程序

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 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/

相关文章:

c# - 异步方法中的 Task.Run() 导致线程池饥饿?

bash 将最后的用户输入值永久保存在脚本本身中

c++ - 跨多个 .cpp 文件共享全局变量(visual studio 2015)

azure - 我的 Azure Web 应用程序无法从正确的 appsetting.{env}.json 文件中读取参数

c++ - 编译 DirectX11 着色器文件

visual-studio-2015 - 如何删除 Visual Studio 的默认颜色主题?

c# - 从 .NET Core 2.2 迁移到 3.0-preview-9 后模型绑定(bind)停止工作

Java swing ubuntu 应用程序不加载 sqlite

php - 安装 PHP PEAR ubuntu 12.04 时出错

linux - 如何仅向某些用户授予对子文件夹的权限