迷失在版本和工具中:.NET Core,Core Tools,dotnet Core CLI,

时间:2016-12-24 16:20:17

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

好的,作为一个新的.net开发生态系统,我有点迷失在Core工具,版本等中。

有人可以解释一下

之间的区别
  • 核心工具预览x for VS 2015 - See here
  • .NET Core / SDK与否(1.0,1.0.1,1.1) - See here
  • 核心CLI SDK预览2,3,4,5 - See here

预览是什么以及它们与主版本编号有何关联?

对于新手来说,Core本身的版本似乎很奇怪

  • 当您进入下载页面时:https://www.microsoft.com/net/download/core#/current/sdk
  • 您可以看到下载 .NET Core 1.1 SDK - 安装程序为您提供 dotnet-dev-win-x64.1.0.0-preview2-1-003177.exe
    • 1.0.0 ??
  • 在同一页面上,您可以下载* Visual Studio 2015工具(预览2)*,它可以为您提供 DotNetCore.1.0.1-VS2015Tools.Preview2.0.3
    • 1.0.1?

dotnet core github repository上,我们可以看到各种版本中提供了一些工具:

  

1.0.3于2016年12月13日发布

     

1.1发布于2016年11月16日

     

1.1.0预览1发布于2016年10月24日

     

1.0.2 2016年10月17日发布

     

1.0.1发布于2016年9月13日

     

1.0.0发布2016年6月27日RC2发布2016年5月16日RC1发布2015年11月18日

dotnet CLI repo(我看不到它的构建工具?),我们可以看到他们正在讨论preview4,但在下载链接中,所有内容都标记为预览5. AND 他们谈到下载一个 .NET Core SDK安装程序:是否有SDK核心安装程序,所以是另一个版本,还是命名错误,它实际上只是CLI?或者SDK是否包含CLI,然后是哪个版本?

它为您提供了 dotnet-win-x64.latest.exe ,它似乎安装了.NET Core 1.0.1 Preview 5 ...

最后在Azure上,Web应用程序控制台将为您提供:

dotnet --version
D:\home\site\wwwroot
1.0.0-preview3-004056

WAOOOW:有点迷失......

有哪些正确的工具,以正确的版本启动新项目并在Azure上正确部署?

1 个答案:

答案 0 :(得分:28)

你在这里混淆了一些概念。仅仅因为版本稍后发布,并不意味着它具有更多功能。 .NET Core 1.0是LTS版本,将提供2年或3年的更新版本。

因此,即使在1.1发布之后,也会有1.0的维护,修复错误或安全问题。在软件开发中一直都是这样,看看Java。当Java 1.8发布时,Java 1.7仍然有更新。

.NET Core SDK包含dotnet cli工具,用于恢复软件包,构建,部署和运行.NET Core应用程序,它还包含.NET Core运行时,它提供框架DLL(如.NET Framework 4) .x setup)您需要运行便携式应用程序。

.NET Core运行时/ SDK独立于CLI工具,也可以通过nuget包获取。

Visual Studio 2015/2017的.NET核心工具只是一组工具,允许Visual Studio添加对新项目类型和构建管道的支持。

用于VS的.NET核心工具还包含SDK /运行时。

您需要在Azure上运行,取决于您的需求以及Azure App Service实例上安装的运行时类型,因为它们通常落后于常规版本。

即。如果您创建自行包含的应用程序(使用.NET Core运行时部署),那么您可以使用任何版本,因为每个应用程序都有自己的运行时,可以并行运行。

如果要运行可移植应用程序(部署时没有.NET Core框架库),则需要在Azure App Service上安装正确的运行时(Azure博客通常在新运行时可用时发布)。

所有其他取决于您的开发环境。

TL; DR: 如果你

  • 使用Visual Studio 2015:安装Visual Studio 2015工具(预览2)*
  • 使用Visual Studio 2017:下载Visual Studio 2017
  • 不要使用Visual Studio,但想要为/ .NET开发:安装.NET Core SDK
  • 不使用Visual Studio,但想运行.NET Core Appl:安装.NET Core Runtime

  • .NET Core Runtime(1.0.x或1.1.x):只是运行时
  • dotnet-cli:只是构建/部署工具
  • .NET Core SDK:Runtime + dotnet-cli
  • 适用于Visual Studio的.NET核心工具:运行时+ dotnet-cli + Visual Studio集成(以及新项目模板)

cli-tools和Visual Studio Tools尚未完成,因此在预览中。他们应该与VS2017和基于MSBuild的新项目结构(从xproj转移到csproj文件)一起进行RTM,但这不会影响运行时/ SDK的状态。