更新 Nuget 的Visual C++工具

[原文发表地址]Stay up-to-date with the Visual C++ tools on NuGet

[原文发表时间]2016/4/26  Andrew Pardoe

你想试试最新的的微软C++编译器么?二月份,我们公布了一种安装微软 Visual C++ 工具集的新方式。不用等待下一个Visual Studio的更新,你可以通过NuGet获取最新的MSVC。因为这个工具是通过一个Nuget 安装包安装到你的工程或者解决方案中的,你可以很容易的卸载这个工具回到产品环境。更多的细节,以及安装此工具所需的要的所有东西都在二月份的博客中: 不用等到下一个Visual Studio 的更新包,快来尝试下最新的C++编译工具

我们收到来自开发者用户的两类主要的反馈。首先,你们希望频率更加高的MSVC 工具集发布——如果可以每晚都更新。 第二条,你们希望更好的工具结构构造: 你们中的部分人只想安装x64工具,一些想安装ATL/MFC,另外的一些人又不想要安装ATL/LFC, 还有人希望Clang/C2包含在内。

现在我很高兴的向你们宣布,我们已经听到你们的需求,正在着手处理这一系列的需求。截止这周我们正在每天的更新Nuget MSVC工具。你只需要配置你的Nuget 程序包管理器,增加一个新的程序包源https://vcppdogfooding.azurewebsites.net/nuget/,选中“Include prerelease”选项框,浏览你的VisualCppTools包。(更多关于如何安装这个程序包,包括通过Visual C++ 生成工具安装这个更新包的指南,都在二月份的博客

当前有两个重要的问题不得不提:

  • 第一个,VisualCppTools 更新包是预发行的软件(阅读EULA),因此它不能在产品的环境下使用。我们把这个更新包放出来这样你就可以在开发中尝试新的特性功能或者检查bug是否修复。
  • 第二个,我们每天都会更新这个更新包(大概是1:30 PST, 在我们的更新包的自动程序启动后),不是每天的更新包含新功能。我们的团队是在某特性的分支上工作的,然后把他们的工作周期性地集合在一个发布的分支上。 我们已经提高了代码集成的频率,但是当前大概是10-14天一次。这就意味着任何一天你可能会看见来自编译器的新的功能(新的bugs!)和库文件的集成,或者优化器/parser 的集成。但是大部分的时间里,你只能看见和昨天相比,二进制文件的时间戳而已。如果你遇到关于这个工具的任何新bugs,或者之前发布的Visual Studo 的MSVC的回归问题,请通过Connect为我们提交反馈,或者通过邮件,以及任何我们常用的频道。

关于第二个请求,MSVC工具更好的结构构造? 我们也正在努力解决这个问题。但是和推进NuGet的发布工作相比,我们更加关注使”Visual Studio 15”的使用体验变得更加的好。你有可能还没有听说,我们已经有了一种新的轻量级的安装体验,你只需要安装VS 中你所需要的的部分。你可以从这边博客阅读只安装C++的新体验: 轻量化Visual Studio “15”的C++安装

最后,如何确定你已经成功安装且正在使用最新的MSVC工具呢? 这个很容易!只需要关闭C++ 工程配置的“Suppress Starup Banner”选项。

当你在编译,你就会看到输出窗口中的版本号。(MSVC 版本 19.00.23918 对应 Visual Studio 2015 Update 2.)。如果你想通过程序判断版本号,只需要使用 MSC_FULL_VER predefined macro。这是我的工程从今天的NuGet MSVC 工具移回VS 2015 Update2 工具后输出窗口:

上面,是使用NuGet MSVC工具编译的。 下面是重新使用Update 2 工具集编译的。

请尝试这个工具集,并且告诉我们你的想法。如果你遇到任何行为你认为是之前发布的Visual Studio MSVC 或者已发布的VS update 的回归问题,请一定让我们知道。 你可以在这个博客下面留言,或者发邮件给VCNuGetTools@microsoft.com。谢谢!