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

标签 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 中发布。安装后它没有出现在“目标 DNX 版本”列表中,所以我无法使用 linux dnx 发布。

我做错了什么吗? dnu、dnx、dnvm 对我来说都是新的,有点令人困惑。

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

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

感谢您的帮助!

最佳答案

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

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

dnvm:.NET 版本管理器

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

dnu: .NET 工具

管理包。主要用于 dnu restore 一旦您的应用启动并运行。

dnx:.NET 执行引擎

通过执行命令来运行您的应用程序/网站。通常 dnx web 但是 web 是在你的 project.json 中定义的,所以它可以是任何东西。

那么我该如何改变我的运行时间呢?

所以按照我们刚刚看到的,如果我在我的系统上运行 dnvm list,我会得到以下信息:

dnvm list

显然你没有那个。但是让我们安装 x64 来展示一个例子。

dnvm install -a x64 -r clr -version 1.0.0-rc1-final

所以现在我有这个:

dnvm list 2

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

更改默认值只是运行这个问题:

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

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

final dnvm

这应该让您在最新的运行时上进行设置和运行。如果您使用不同的用户运行该进程,我强烈建议为该用户设置相同的命令,因为它们存储在用户 PATH 中。

关于asp.net - 将 visual studio 2015 中的 asp.net 5 发布到 linux,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34313022/

相关文章:

.net - 导出 RSA key 时出现问题 -'key not valid for use in specified state'

asp.net - IIS 7如何保留网站子文件夹身份验证设置

c++ - 如何使用 pcap_lookupdev 查找无线设备?

c - ifconfig->which 的结果是我要提供给 TCP/IP 套接字的 IP 地址

javascript - Web Essentials 是否提供了一种在生产中使用捆绑的 js 文件但在开发中使用单个 js 文件的方法?

javascript - 捆绑脚本,渲染但在 vs 2017 中发布后不起作用

c# - 具有两个操作的 Razor 输入

linux - 根据另一个数字列对数字列进行排序

C++ 对象初始化(堆栈)

c# - 如何使用 Global.asax 来使用 Local_resources?