.Net核心和ASP.NET核心交互

时间:2016-02-04 15:40:44

标签: .net asp.net-core .net-core

installed .net core from this site。与ASP.NET Core一起使用它会产生一些与半相关的问题:

  1. 我的机器几天前刚刚安装了VS 2015更新1 ...它已经安装了Microsoft Web Developer Tools。尽管如此,我使用的.net核心MSI安装程序显然确实安装了缺少的.net核心功能。如果ASP.NET Core依赖于.Net Core,为什么会出现这种颠倒的行为?
  2. 为什么在Visual Studio 2015打开文件之前,命令行上的dnx和dnu命令不可用?这是一个暮光之城的终端用户体验。仅仅通过安装.Net Core,我不应该使用那些CLI工具吗?
  3. 我可以理解.Net Core的安装程序的存在,但为什么有一个独立的installer for ASP.NET Core?是不是只能使用.Net Core提供的工具来设置和构建ASP.NET Core项目? ASP.NET Core只是一个额外的NuGet包层吗?
  4. 与“dotnet”CLI工具相关的命令行工具“dnx,dnu和dnvm”的路线图是什么?我在这里读了十几篇不同的文章,它们似乎都互相矛盾。例如,“dnx,dnu和dnvm”最终会消失吗?或者它们是否会一直存在,“dotnet”CLI工具只是一个方便的包装工具?因此,我得到的模糊印象是“dotnet”CLI工具与.Net Core相关联,而“dnx,dnu,dnvm”工具与ASP.NET Core相关联。请把我拉直。
  5. 什么是官方构建框架选项列表及其解释。我指的是project.json中的“frameworks”元素。每当我看到这些列表时,不久之后我会发现一个不在列表中的新框架。
  6. 实际上,我也很好奇我曾经安装.Net Core的.Net Core“入门”链接(本文开头)。我找不到任何链接到它的Microsoft网站。相反,我只是通过谷歌搜索找到它。这让我感到不舒服......它真的是“安装.Net Core”的门户吗?还有另一个吗?

2 个答案:

答案 0 :(得分:3)

  1. 没有ASP.NET Core的Visual Studio 2015 RTM。这意味着它没有与它捆绑在一起。因此,需要安装自己独立的安装程序。
  2. dnvm应该在命令行中运行。安装程序应该为%userprofile%\.dnx\bin环境变量添加PATH的路径。 dnxdnu需要知道要在哪个运行时运行它,因此除非您通过运行dnvm use %runtime%或{{1}指定运行时,否则它最初可能无法从命令行运行}。
  3. dnvm use default是运行时。它不是一个nuget包。安装ASP.NET Core时,您将安装Visual Studio工具。不太清楚使用OSX或nix安装程序会得到什么。可能只是预先安装包。
  4. 一旦RC2被释放,
  5. .NET Corednvmdnu将最终消失。它们都将被单个dnx命令替换。
  6. 没有官方框架列表。这主要取决于您希望在哪个平台上运行项目。以下是一些文章(12),应该清除这些标记的含义。通常,如果您想使用完整框架,则使用dotnet;如果您只需要核心,则使用net*
  7. 此外,帖子开头的第一个链接会链接到“dev”(不稳定)分支的安装程序。我建议玩RC1,直到他们正式发布RC2。

答案 1 :(得分:1)

澄清问题3的上一个答案:" .NET Core是运行时。它不是一个nuget包。"有点模糊的说法。您应首先定义.NET Core的含义。实际上,许多.NET Core功能都是作为NuGet包提供的。如果你从这里开始,你会有一个想法:https://www.nuget.org/packages/Microsoft.NETCore/

从RC2开始,唯一不是NuGet包的位是CLI工具集。您需要在目标环境中安装.NET CLI,其他所有内容都将作为软件包进行部署。

此外,ASP.NET Core构建于.NET Core之上,而不是与它捆绑在一起。类比:今天FCL是框架附带的东西,但除此之外还有一些补充,例如SignalR。所以.NET Core类库( CoreFX )是基本的构建块,ASP.NET Core是一个额外的层。