首页 文章

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

提问于
浏览
44

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

有人可以解释我之间的区别

  • 核心工具预览x for VS 2015 - See here
    是否

  • .NET Core / SDK(1.0,1.0.1,1.1) - See here

  • Core CLI SDK预览2,3,4,5 - See here

What are previews and how are they related with main version numbering?

对于新手而言,Core本身的版本似乎很奇怪

  • 当您进入下载页面时:https://www.microsoft.com/net/download/core#/current/sdk

  • 你可以看到下载 .NET Core 1.1 SDK - Installer 给你 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发布12/13/2016 1.1发布2016年11月16日1.1.0预览1发布10/24/2016 1.0.2发布10/17/2016 1.0.1发布9/13/2016 1.0.0发布2016年6月27日RC2发布2015年5月16日RC1发布2015年11月18日

dotnet CLI repo(我看不到它的构建工具?),我们可以看到他们正在讨论preview4,但在下载链接中,一切都标记为预览5. AND 他们谈论下载 .NET Core SDK Installer :是否有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:有点失落......

What are the proper tools, in what correct version to start a new project with and have it properly deployable on Azure?

1 回答

  • 27

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

    因此,即使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设置) )您需要运行便携式应用程序 .

    .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 Core:安装.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:运行时dotnet-cli

    • 用于Visual Studio的.NET核心工具:运行时dotnet-cli Visual Studio集成(和新项目模板)

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

相关问题