迷失在版本和工具中:.NET核心,核心工具,dotnet核心CLI,
好吧,作为一个新的.net开发生态系统,我在Core工具,版本等方面都迷失了方向。
有人能解释我之间的区别吗?
- 核心工具预览x为VS 2015 – 看到这里
- .NET Core / SDK与否(1.0,1.0.1,1.1) – 请参阅此处
- 核心CLI SDK预览2,3,4,5 – 请参阅此处
什么是预览,它们如何与主版本编号相关?
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核心的github仓库中 ,我们可以看到有一些工具可用于各种版本:
1.0.3发布2016年12月13日
1.1发布2016年11月16日
1.1.0预览1发布10/24/2016
1.0.2发布2016年10月17日
1.0.1发布9/13/2016
1.0.0发布2016/6/27 RC2发布2016/5/16 RC1发布2015/11/18
在dotnet CLI repo (我不知道它的构build工具?),我们可以看到他们正在讨论preview4,但在下载链接中,一切都标记为预览5.他们谈论下载一个.NET核心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上正确部署?
你在这里混淆了一些概念。 仅仅因为稍后发布版本,并不意味着它具有更多的function。 .NET Core 1.0是一个LTS版本,将会提供2到3年iirc的更新。
所以即使在1.1版本发布之后,也会有1.0的维护修复错误或者安全问题。 这在软件开发中一直是这样,请看Java。 当Java 1.8发布时,Java 1.7仍然有更新。
.NET Core SDK包含用于还原软件包,构build,部署和运行.NET Core应用程序的dotnet cli工具,还包含提供框架DLL的.NET Core运行时(如.NET Framework 4.x安装程序)您需要运行便携式应用程序。
.NET Core运行时/ SDK独立于CLI工具,也可以通过nuget包得到。
Visual Studio 2015/2017的.NET核心工具只是一套工具,它允许Visual Studio添加对新项目types和构buildpipe道的支持。
VS的.NET核心工具也包含SDK /运行时。
您需要在Azure上运行的内容取决于您的需求以及Azure App Service实例上安装的运行时types,因为它们通常落后于常规版本。
即,如果创build自包含的应用程序(使用.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 Core开发/安装.NET Core SDK
- 不要使用Visual Studio,但要运行.NET Core Appl:安装.NET Core Runtime
要么
- .NET Core Runtime(1.0.x或1.1.x):只是运行时
- dotnet-cli:只需构build/部署工具
- .NET核心SDK:运行时+ dotnet-cli
- 用于Visual Studio的.NET Core Tools:Runtime + dotnet-cli + Visual Studio集成(和新的项目模板)
cli-tools和Visual Studio Tools还没有完成,因此在预览。 他们应该使用VS2017和基于MSBuild的新项目结构(从xproj移到csproj文件)一起去RTM,但是这不会影响运行时/ SDK的状态。