将visual.net 2015中的asp.net 5发布到linux

时间:2015-12-16 13:12:46

标签: asp.net linux visual-studio visual-studio-2015 asp.net-core

我正在弄清楚如何发布一个asp.net 5项目(来自visual studio),以便它可以在linux上运行。 在visual studio 2015中,我正在使用文件系统发布功能。在设置中,有一个“目标DNX版本”选项。我有4个选项:

  • dnx-coreclr-win-x64.1.0.0-rc1-update1
  • dnx-coreclr-win-x86.1.0.0-rc1-update1
  • dnx-clr-win-x64.1.0.0-rc1-update1
  • dnx-clr-win-x86.1.0.0-rc1-update1

我用dnvm安装了dnx-coreclr-linux-x64.1.0.0-rc1-update1因为我认为我可以使用这个版本在visual studio中发布。安装后它没有显示在“Target DNX Version”的列表中,所以我无法使用linux dnx发布。

我做错了吗? dnu,dnx,dnvm对我来说都是新手,而且有点令人困惑。

我也知道你可以复制源文件并在linux上恢复/构建项目,但是发布这些文件对我来说似乎更“干净”。

或者目前可能不支持这个?

感谢您的帮助!

1 个答案:

答案 0 :(得分:3)

编辑:请注意,这仅适用于RC1。 RC2不支持那些可执行文件。它们将被dotnet-cli替换。

我想我知道你想要什么,但如果不是那个,请告诉我,我会调整我的答案。

dnvm:.NET版本管理器

管理不同的运行时,并允许您选择当前运行时。

dnu:.NET实用程序

管理包裹。一旦您启动并运行了应用程序,主要用于dnu restore

dnx:.NET执行引擎

通过执行命令运行您的应用/网站。通常dnx web webproject.json已定义在dnvm list中,因此它可以是任何内容。

那么如何更改运行时?

因此,按照我们所看到的,如果我在我的系统上运行x64,我会得到以下内容:

dnvm list

显然你没有那个。但是让我们安装dnvm install -a x64 -r clr -version 1.0.0-rc1-final 来展示一个例子。

dnvm alias default -a x64 -r clr -os win -version 1.0.0-rc1-final
dnvm use default -Persistent

现在我有了这个:

dnvm list 2

所以我安装了64位,但它不是默认的运行时间而且更糟......如果我重新启动命令提示符,它将默认返回到x86。这意味着在此系统上运行的所有内容都将自动默认为x86。

更改默认值只需运行此操作:

PATH

所以现在当我重新启动命令提示符时,我得到:

final dnvm

这应该让您在最新的运行时设置并运行。如果您使用其他用户运行该过程,我强烈建议您使用相同的命令设置该用户,因为它们存储在用户output中。