【问题标题】:Publish asp.net 5 from visual studio 2015 to linux将 asp.net 5 从 Visual Studio 2015 发布到 linux
【发布时间】:2016-03-22 15:33:40
【问题描述】:

我正在研究如何发布一个 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 上恢复/构建项目,但文件的发布对我来说似乎更“干净”。

或者这可能暂时不支持?

感谢您的帮助!

【问题讨论】:

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


    【解决方案1】:

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

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

    dnvm : .NET 版本管理器

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

    dnu:.NET 实用程序

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

    dnx:.NET 执行引擎

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

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

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

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

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

    所以现在我有了这个:

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

    更改默认值只需运行以下代码:

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

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

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

    【讨论】:

    • 感谢您的解释,这一切都说得通。我安装了以下运行时:i.imgur.com/GPUceWJ.png。问题实际上出在 Visual Studio 中。每当我想在 asp.net 5 中发布一个新创建的网站时,我都没有选择 linux 运行时的选项:i.imgur.com/EZmuSPB.png。你对这个问题有什么想法吗?编辑:也许安装的运行时与视觉工作室“目标 DNX 版本”无关?
    • 保证您发布为“coreclr”的所有内容都可以在 Windows/Linux/OSX 上运行。所以你不需要“为 Linux 发布”。没有linux运行时。 dnvm 中提到“os”的唯一原因只是为了提供信息。一旦您的代码启动(如果是 coreclr),它将自动使用活动架构/运行时。
    • 或者至少是您在发布期间提到的那些。我还没有 100% 了解发布过程的最新情况。
    • 啊,这就解释了!等我用coreclr-win的时候试试吧。
    • 确实,如果我只使用 coreclr-win 似乎没有任何区别。我应该首先尝试一下,看看它是否有效。还是谢谢你的解释!
    猜你喜欢
    • 1970-01-01
    • 2016-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多