2016-04-26 83 views
2

我有一个应用程序,我在asp.net 4.5中开发,我想将它移到asp.net核心并在Linux服务器(ubuntu)上运行。将.net Core web应用程序部署到Ubuntu linux

我一直有很多challanges和不幸的是目前的文档是没有用的。

所以......

我应该如何打包应用程序?

的技术文档建议您使用以下命令

建设DNU发布--runtime DNX-coreclr-Linux的x64.1.0.0-RC1-UPDATE1

但是我在想这我的本地机器,它没有选择部署Linux版本。当我在服务器上运行时,会出现一些问题(稍后介绍)。所以我应该在服务器上做这个或者在本地机器上工作。

注:我读过另一个堆栈溢出问题,只要它的coreclr无论它的win还是linux都没关系?

我想在回答这个问题后会出现更多的问题。我有很多关于Core的问题我想知道是否有人真正地在应用程序上部署到Linux环境!

任何帮助将不胜感激!

更新

提供本地机器上的进一步信息目前运行时间...

活动版本运行架构位置别名
------ ------- - ------ ------------ -------- -----
1.0.0-beta5 clr x64 C:\ Users \ Alex.dnx \ runstimes
1.0.0-beta5 clr x86 C:\ Users \ Alex.dnx \ runstimes
1.0.0-beta5 coreclr x64 C:\ Us ERS \ Alex.dnx \运行时将
1.0.0-β5coreclr 86 C:\用户\ Alex.dnx \运行时
1.0.0-RC1-UPDATE1 CLR 64 C:\用户\ Alex.dnx \运行时
1.0 .0-rc1-update1 clr x86 C:\ Users \ Alex.dnx \ runstimes
1.0.0-rc1-update1 coreclr x64 C:\ Users \ Alex.dnx \ runstimes
1.0.0-rc1-update1 coreclr x86 C:\ Users \ Alex.dnx \ runstimes
* 1.0.0-rc1-update2 clr x86 C:\ Users \ Alex.dnx \ runtimes默认 1.0.0-rc1-update2 coreclr x86 C:\ Users \ Alex。 dnx \ runstimes

我想将它编译为coreclr linux .... h但是当我在上面运行dnu publish命令时,它说运行时不存在,即使我从nuget更新coreclr?

当我构建它时,是否需要指定一个操作系统(linux或windows),或者如果它的coreclr在单独发布的应用程序上运行?

在导入到Azure的部署,但到Linux

+0

你从来没有真正说过你会得到什么错误。是的,人们可以并已经将他们的应用程序部署到Linux。如果你还在学习ASP.NET,那么最好不要使用那些仍在流行且缺乏文档的流血的东西。 – mason

+0

希望额外的信息提供进一步的信息。钽 –

回答

3

OK时,不工作这运行正常,这里是如何:

  1. 安装Visual Studio 2017年(与.NET核心)
  2. 创建您的项目,并让它在Windows上编译
  3. 编译并运行后,请确保您可以从Visual Studio发布它
  4. 一旦您可以发布它从Visual Studio,关闭Visual Studio并执行以下操作

    开放的cmd.exe(windows键+ R)
    CD “你的.sln文件的目录”
    DOTNET恢复-r ubuntu.16.04-64
    DOTNET构建-r ubuntu.16.04-64
    DOTNET发布-f netcoreapp1.1 -c释放-r ubuntu.16.04-64

  5. 您的应用程序现在应该在文件夹斌/发布

可以获得RID列表(-r)herehere

如果你想在Linux上开发,运行

apt-get install dotnet-dev-1.0.1 

和DOTNET效用应该在Linux上运行。

请注意,如果你得到

C:\ PROGRAM 文件\ DOTNET \ SDK \ 1.0.0 \ Microsoft.Common.CurrentVersion.targets(2865,5): 错误MSB3554:无法写入输出文件“C:\ path \ to \ your \ project \ obj \ Debug \ netcoreapp1.1 \ YOUR_APP.Properties.Resources.resources”。 需要正数。

构建失败。

当您运行构建或发布命令时,只需再次运行该命令。

相关问题