Visual Studio 2017 发布

时间:2017-03-08 22:38:46   收藏:0   阅读:6097

https://www.visualstudio.com/zh-cn/news/releasenotes/vs2017-relnotes

 

发布日期:2017 年 3 月 7 日

摘要

开发:快速导航、编写并修复代码

调试:轻松调试、探查和诊断

测试:使用全面的测试工具编写高质量代码

协作:使用版本控制、具备敏捷性且高效协作

扩展:构建自己的扩展,根据自身喜好进行自定义

增强的工具

其他

Visual Studio 2017 中的新增功能

安装体验

我们很高兴推出新款全新设计的安装程序:

首次安装 Visual Studio 2017 时,会获得新体验:

技术分享

最小的安装仅为数百兆字节,但仍然支持针对超过&20; 种语言的基本代码编辑(包括源代码管理)。 大部分用户会想安装更多功能。 可添加一个或多个代表常见框架、语言和平台的“工作负载”,涵盖从 .NET 桌面开发到使用 Unity 的游戏开发等一切事务。

如何更新 Visual Studio

若要更新 Visual Studio,请运行 Visual Studio 安装程序并单击“更新”按钮。

对新的安装程序提出反馈

可使用标题栏右上角处新安装程序客户端的“报告问题”和“提供建议”命令来报告问题或给出好评。 我们想知道你在安装、卸载或修改安装时是否遇到错误,是否遇到异常安装时间(例如挂起)或意外错误消息。

创建用于脱机安装和新命令行安装支持的布局

系统管理员和其他用户现在可以创建 Visual Studio 的脱机布局,其中包含了安装产品所需的所有内容,无需访问 Internet。 此布局可以是完整的产品、工作负荷和/或组件的一个子集,以及一个或多个产品区域设置。 请注意,创建脱机布局需要 Internet 访问。 有关详细信息,请参阅 Create an offline installation of Visual Studio 2017(创建 Visual Studio 2017 的脱机安装)。

安装别名

Visual Studio Enterprise 和 Community(以及其他产品)现在可以并行安装在同一台计算机上。 若要使标识这些安装更加容易,可以指定短名称或“别名”。 例如,如果要安装 Visual Studio Enterprise,然后安装 Visual Studio Community,这两个程序在开始菜单上的显示是一样的。 可以为第二个程序提供别名,如“community”,开始菜单项中将显示诸如“Visual Studio 2017 (community)”和“Visual Studio 2017 (community) 开发人员命令提示”这样的名称。


Visual Studio IDE

IDE 改进

技术分享

技术分享

登录和标识改进

推出了一种新的标识服务,可用于跨 Microsoft 开发人员工具共享用户帐户。 在 Visual Studio 中,此共享包括团队资源管理器、Azure Tools 和 Windows 应用商店发布等功能。 现在,这些功能的登录体验共有且一致。

除了改进 Visual Studio,我们还在服务端部署了部分改进功能,让用户可安全保持登录状态,消除了每 12 小时便强制登录的要求。 这解决了最常报告的登录问题。 深入了解如何减少 Visual Studio 提示

起始页

重新设计的起始页拥有新的“打开”和“创建”功能:

下方显示了新的起始页。

技术分享

改进了代码导航

Visual Studio 2017 中的代码导航功能有了显著改进:

技术分享

技术分享

技术分享

技术分享

通过 .editorconfig 支持编码约定

Visual Studio 编辑器现支持 EditorConfig,它允许开发人员定义编码样式约定并使其在不同编辑器和 IDE 之间保持一致。 请参阅文档获取更多详细信息,请参阅 .NET 文档获取有关如何使用 .editorconfig 文件管理 .NET 代码样式的信息。 请参阅已知问题,了解此版本中有关 EditorConfig 支持的限制。

打开文件夹

“打开文件夹”是使用不含项目和解决方案的基本代码的简便方法。 通过“文件”>“打开”>“文件夹”打开文件夹视图,然后选择要导航的文件夹。

技术分享

可使用解决方案资源管理器打开和编辑文件。 许多常用语言具有语法突出显示和符号导航(GoTo)支持。 此外,某些语言可直接由文件夹获得高级 IntelliSense 和调试支持:

可使用 F5 和解决方案资源管理器中的文件上下文菜单实现生成或调试操作。 要获得最佳体验,请确保安装所使用语言的工作负荷。

文件夹视图也支持以下操作:

大幅提升了打开文件夹和在文件夹视图与解决方案视图之间切换时的效果。

轻量级解决方案加载

轻量级解决方案加载可让大型解决方案的加载速度更快。 它可大幅节省大型解决方案的加载时间和内存使用量。 此功能并非默认启用,可按解决方案逐一启用,也可在 IDE 中全局启用。 若要全局启用,可导航到“工具”>“选项”,选择“项目和解决方案”下的“常规”,或通过使用“快速启动”搜索“轻量级解决方案加载”。 可在解决方案属性窗格中,为单个解决方案开启和关闭该功能。

技术分享

轻量级解决方案加载最适合包含 C# 项目或包含混用 C# 和 C++ 的项目的大型解决方案。 如果检测到正在使用大型解决方案,系统可能会提示启用此功能。 有关此功能的更多详细信息,可访问 Visual Studio 博客

大幅改进了完整解决方案生成的性能,现在与常规的解决方案加载拥有同等性能。

语法着色、自动完成、代码段和对更多语言的“导航到”搜索支持

基于在 Visual Studio 2015 更新中添加的支持,Visual Studio 2017 现支持对更多语言进行语法着色和自动完成。 此外,这些语言中的其中一些语言也支持通过“导航到”(Ctrl+) 和/或代码段导航。

以下所示的语言文件支持新“Visual Studio 核心编辑器”中的这些功能(即使并未安装显式支持有问题的语言的工作负载)。 如果安装了提供语言支持的工作负载(例如 .NET 桌面应用程序开发工作负载、使用 C++ 的 Windows 桌面应用开发工作负载等),会提供更广泛的语言支持,包括 IntelliSense 和其他高级语言功能(例如灯泡)。

按支持级别列出的语言文件类型:

项目概述页入门

针对新创建的项目,我们引入了全新的入门体验。 我们已将当前的入门页替换为新应用配置设计器中的“概述”选项卡,此页面侧重于能够让你快速入门并开始运行的操作!

技术分享

使用连接的服务连接到服务

在以前的版本中,此功能被命名为“服务功能”。 我们已将该名称更改为“连接的服务”。

连接的服务即 Visual Studio 2017 中新式的“添加连接的服务”功能或“添加服务引用”功能。 连接的服务功能可使应用与服务间的连接更轻松。 解决方案资源管理器中提供了一个用于 Web 和移动项目类型的名为“连接的服务”的新节点。 双击此节点会在 Visual Studio 中打开一个新的整页选项卡,可在其中发现可连接到的热门 Microsoft 服务。

在“连接的服务”页上选择一个服务将调用“连接的服务向导”,该向导会配置项目、下载必要的 NuGet 数据包,从而帮助快速轻松地根据服务需要进行编码。

技术分享

产品随附的工具和功能

通过 Visual Studio 2017 可轻松获取其他工作负载和组件,而无需离开 IDE。 利用“快速启动”可查找并启动任何工作负荷或单个组件的 Visual Studio 安装程序。

技术分享

如果找不到正在寻找的模板,也可以从“新建项目”对话框中打开 Visual Studio 安装程序。

技术分享


Visual C++

Visual Studio 2017 向 Visual C++ 环境引入了许多更新和修补程序。 感谢你报告 bug! 我们修复了编译器和工具中的 250 多个 bug 和已报告问题,其中很多是客户通过 Microsoft Connect 提交的。 我们在此版本中着手了 STL 的性能改进。 现在默认使用全新的基于 SQLite 的数据库引擎。 这将提高数据库操作(如“转到定义”和“查找所有引用”)的速度,并将极大地缩短初始解决方案分析时间。 现提供原始 C++ 工作流的更细化的安装体验。 我们添加了可选组件,使你能够仅安装所需工具。 Visual Studio 中的 CMake 支持已准备好展现它的强大功能! 直接将 CMake 项目加载到 VS 中并立即开始编写代码。 改进了“打开文件夹”C++ 体验,因此可以直接将源代码编入 VS 中,而无需创建任何 VS 解决方案和项目。 “导航到”现称为“转到”,这个涵盖性术语针对一组新的导航筛选器。 这使用户可更轻松地找到正确结果,尤其在较大代码库中。

C++ 代码分析

用于强制执行 C++ 核心准则 的 C++ 核心检查器现已通过 Visual Studio 分发。 只需在项目“属性”页的“代码分析扩展”对话框中启动检查器,即会在运行代码分析时包含扩展。

技术分享

C++ 编译器

我们更新了 C++ 编译器和标准库,不仅增强了对 C++11 和 C++14 功能的支持,还引入了对预期推出的某些 C++17 标准功能的初步支持。 编译器支持通用 constexpr 和聚合的 NSDMI,具有 C++14 标准版中的全部新增功能。 请注意,编译器仍缺少 C++11 和 C++98 标准版中的一些功能。 Visual Studio 2017 允许结合使用 /sdl 和 /await。 删除了协同程序的 /RTC 限制。

此版本在优化和代码生成方面做出了若干改进。 显著改进包括:

C++ 库

C++ IDE

现针对 C++ 本机项目和 C++ /CLI 项目有了更佳的配置更改性能,后者的性能增加更为明显。 第一次激活解决方案配置时,现在的速度会更快,且此解决方案配置的所有后续激活几乎可瞬时完成。

现在默认使用全新的基于 SQLite 的数据库引擎。 这将提高数据库操作(如“转到定义”和“查找所有引用”)的速度,并将极大地缩短初始解决方案分析时间。 设置已移至“工具”>“选项”>“文本编辑器”>“C/C++”>“高级”下(之前位于...“C/C++”>“实验”下)。

我们改进了不使用预编译标头的项目和文件的 IntelliSense 性能 - 为当前文件中的标头创建自动预编译标头。

其他更新包括:

技术分享

技术分享

技术分享

技术分享

C++ 安装工作负荷

Clang/C2 平台工具集

Visual Studio 2017 附带的 Clang/C2 工具集现在支持 /bigobj 开关,这对生成大项目来说至关重要。 它还在编译器的前端和后端进行了多项重要的 bug 修复。


C# 和 Visual Basic

语言扩展

此版本引入了对 C# 7.0 和 Visual Basic 15 语言功能的支持,包括:

对于 C#:

对于 Visual Basic:

有关详细信息,请关注我们在 CSharpLang GitHub 和 VBLang GitHub 上的语言设计,以详细了解这些设计及其他建议的语言扩展。

快速操作和重构

Visual Studio 提供许多重构,帮助提高工作效率并使代码更易读。 下面列出了部分重构:

技术分享

技术分享

技术分享

编码约定配置和强制

以 Visual Studio 对 EditorConfig 的支持为基础,我们与社区协作,将 .NET 代码样式设置添加到了文件格式。 这意味着你可以配置团队的代码样式约定、将其签入源控件,并在开发人员键入时让冲突实时显示在编辑器中。 可以在 Roslyn 存储库的 .editorconfig 中或此文档中查看所有代码样式选项。 可通过“工具”>“选项”>“文本编辑器”>“[C#/Basic]”>“代码样式”继续配置特定于计算机的代码样式设置,并且这些规则会在 EditorConfig 存在且与之冲突时被覆盖。

我们还添加/更新了样式分析器,以帮助你自定义和强制执行团队的编码约定,包括:

注意:其中部分代码样式规则在编辑器中默认配置为“建议”。

技术分享

IntelliSense 改进

此版本还改进了 IntelliSense,可帮助在处理较大解决方案或不熟悉的代码库时提高工作效率。 我们为 IntelliSense 添加了图标任务栏,可供你按类型(如方法、属性、类等)筛选成员列表。 每个筛选器切换都具有关联的键盘快捷方式,可以通过将鼠标悬停在该图标上来发现。 若要启用此功能,请转到“工具”>“选项”>“文本编辑器”>“[C# / Basic]”>“IntelliSense”,选中筛选选项并突出显示。

技术分享

其他编辑器改进


F# 

对 F# 4.1 语言功能的支持:

对 F# 编译器和 FSharp.Core 进行了许多改进,大部分都是由 F# 社区完成:

基于 Roslyn 工作区的新编辑器具有许多新的 IDE 功能,由优秀的 F# 社区完成:

此外,社区还提供了以下内容:

对 .NET CLI 中的 F# 的支持也是由 Enrico Sada 构建的。

最后,我们要特别感谢整个 F# 社区为 VS 2017 中 F# 工具版本进行内部测试、归档 bug、促进讨论以及实现 bug 修复和功能所作出的努力。 没有 F# 社区,就不会有 VS 2017 的成功。 若要查看完整的参与者列表,请参阅此处


JavaScript 和 TypeScript

TypeScript 2.1

TypeScript 2.1 适用于 Visual Studio 中的所有 TypeScript 项目。 TypeScript 2.1 提供下层 async/await、更好的类型推理、本地对象扩展及更多功能! 若要详细了解此版本,请查看 发布博客文章完整更改日志

JavaScript 语言服务

提供新的 JavaScript 语言服务,并默认启用。 新服务提供更强大的 IntelliSense,并增添了对 JSDoc 注释批注、ES6 和常见 JS 模块格式的 IntelliSense 支持。 此外,它还支持 JSX 语法和 ES2016 的功能,如生成器、模块和修饰器。 有关详细信息,请参阅此博客文章或 GitHub 上的 JavaScript IntelliSense 文档

技术分享

性能改进

改进性能是此版本的一个重点所在。 除对提高内存和响应作出一些优化外,整个 JavaScript/TypeScript 语言服务也已移到 devenv.exe 之外的附属进程,从而降低较大 VS 项目的内存占用。 如此一来,在处理较大的 JavaScript 项目时,Visual Studio 进程的内存消耗更低,内存崩溃的可能性更小。 若要阅读有关这些改进的详细信息,请参阅此博客文章


调试和诊断

运行时单击

只需在调试运行到此行时单击代码行旁边的图标。 无需再设置临时断点,也不必再执行多个步骤来执行代码和在所需行停止。 现在,调试器下停在中断状态时,“运行时单击”图标会在鼠标悬停位置的代码行旁边巧妙显示。 将鼠标移动到图标,然后单击按钮,代码即会运行并在下次于代码路径中命中时停在该行。 可通过“调试”>“选项”>“启用‘运行时单击’”将其关闭。

技术分享

“附加到进程”筛选器

在“附加到进程”对话框中轻松搜索,快速查找要将调试器附加到的进程。 将对正在运行的进程列表进行筛选,以筛选出与搜索条件匹配的项。 搜索筛选器具有记忆功能,会在重新打开对话框时提供之前的搜索内容。

技术分享

重新附加到进程

现可快速重新附加到之前调试的进程。 触发新的“调试/重新附加到进程”(Shift+Alt+P) 命令会立即尝试将调试器附加到通过“附加到进程”对话框调用的上一个调试会话的最后若干进程中。 调试器将通过先尝试匹配上一个进程 ID,然后匹配上一个进程名称,再次附加到进程。 如果没有找到匹配项,或找到多个具有相同名称的进程,则会出现“附加到进程”对话框,可通过它选择所需的进程。

新的异常帮助器

新的“异常帮助窗口”可用于查看异常信息,该信息显示在非模式对话框中,可对内部异常进行即时访问。 诊断 NullReferenceException 时,现可从异常帮助器的右侧快速查看哪些内容是 null。 现可在引发的异常处停止时单击复选框添加条件,排除特定模块引发的异常类型。 请阅读此博客文章,更详细地了解新的异常帮助器优势。

技术分享

将条件添加到异常设置

如果你将调试程序设置为在引发时中断,则可以添加条件,以便调试程序仅在指定模块中引发异常时才中断。

技术分享

调试器辅助功能的改进

现可更有效地将多个调试器窗口(调用堆栈、局部变量、自动、监视和快速监视)与屏幕阅读器配合使用以及用于满足其他辅助功能需要。

.NET Core 的 IntelliTrace 事件

IntelliTrace 现在支持 ASP.NET Core 应用的 MVC、ADO.NET 和 HttpClient 事件。 这些事件将显示在“诊断工具”窗口中的“事件”选项卡中。

“诊断工具”窗口更新

启动调试会话后,将在“诊断工具”窗口中看到应用程序新的“摘要”视图。 从此处,将能够:

技术分享

性能探查器更新

性能探查器现可附加到正在运行的进程。 CPU 使用率工具、GPU 使用率工具和性能向导现可附加到正在运行的进程。

CPU 使用率工具更新

对 CPU 使用率工具作出了几处改进:

技术分享

Chrome 调试支持

当开始调试 ASP.NET 项目并选择 Google Chrome 作为浏览器后,Visual Studio 将调试在 Chrome 中运行的 JavaScript。 如果想要改为使用浏览器内的开发工具,可以在“工具”>“选项”>“调试”下禁用此功能。


实时单元测试

Visual Studio 2017 Enterprise 版中的实时单元测试功能会在编辑器中实时显示单元测试结果和代码覆盖率。 它支持 MSTest、xUnit 和 Nunit for C# 以及面向 .NET Framework 的 VB 项目。

技术分享

有关详细信息,请参阅 Live Unit Testing 博客


测试工具

使用测试资源管理器将自动化与测试用例工作项关联

现在可通过在测试资源管理器中选择一种测试方法将自动化和测试用例工作项关联。 通过这种新体验还可查看所选择的测试方法的现有关联。

只需在测试资源管理器中右键单击测试,

技术分享

并提供测试用例 ID 即可创建关联。

技术分享

在 Visual Studio 的先前版本中,可使用工作项窗体完成此操作。 可使用“工具”|“选项”打开兼容模式来启用基于工作项窗体的体验。

技术分享


团队资源管理器

新增 Git 功能

我们已在 Visual Studio 2017 中添加了新的 Git 功能,用户现在可在不离开 IDE 的情况下执行更多端到端工作流。 可轻松查看传出提交的差异、执行强制推送来完成变基或推送修改提交、复原上游分支以及从 VS 继续修补程序变基。 此外,迁移到了 git.exe。 这使我们可提供最新功能。 我们支持 SSH、尊重你的配置选项,并在团队资源管理器中精确显示命令行中所示的内容。 若要了解有关这些功能的详细信息,请查看博客文章

连接到 VSTS/TFS

在 Visual Studio 起始页和团队资源管理器中,已个性化和简化了在 VSTS/TFS 中连接到项目和克隆存储库的过程,从而使得能够更快速且更轻松地找到要连接到的项目和存储库。 全新的“连接”页面仅显示已在所有 VSTS/TFS 服务器中映射和克隆的项目和存储库(而非显示每个项目的每个存储库)。 此外,你在克隆存储库前不再需要连接到某个项目。

当启动对话框以连接到 VSTS 和 TFS 时,将看到经过重新设计的用户体验。 可以看到添加的 TFS 服务器,然后是所选用户帐户的所有 VSTS 服务器、项目和存储库。 结果以树形列出,以改善导航效果。 除了存储库外,还可以连接到集合或项目。 有关详细信息,请参阅 Connect to Team Projects(连接到团队项目)。

工作项窗体

如果从 Visual Studio 2017 连接到 Visual Studio Team Services 并打开工作项,Web 浏览器中会显示工作项窗体。 不过,如果你连接到的是 Team Foundation Server 2015 或更早版本,则看到的是旧版工作项窗体。

技术分享


Visual Studio 扩展性

新的扩展性格式

借助 Visual Studio 2017 中新的安装程序技术,用户可更好地掌控所安装的工具。 一些用户可能仅安装核心 Visual Studio 编辑器,而另一些可能安装若干工作负荷。 现在,扩展作者可在清单中指定扩展所需的单独组件,以便确保安装了扩展所需的必备功能。

如果扩展不是使用新的 VSIX 格式生成的,用户在尝试安装此扩展时,将会收到警告。 旧的 VSIX 格式不会指定所需实现的先决条件,因此当 Visual Studio 2017 中不具备这些先决条件时,该格式可能无法正常工作。 新的 VSIX 格式是向后兼容的,适用于 Visual Studio 2012 及之前的所有版本。

更新了 VSIX 清单设计器,以反映对清单的更改。 在先决条件选项卡中,扩展开发人员可找到用于指定为扩展先决条件的已安装组件的列表。

技术分享

在扩展安装期间,VSIX 安装程序将指示缺少哪些组件,并会将其与扩展一并安装。

技术分享

批量修改扩展

在“扩展和更新”对话框中,现可计划在需要重新启动 Visual Studio 之前,要进行安装、更新和卸载的多个扩展。 右下角有一个计划任务的摘要。 若要删除计划内修改,请单击当前计划安装的扩展旁边的 X 符号。

技术分享

当 VSIX 安装程序检测到所有 Visual Studio 窗口已关闭后,便会启动以完成计划的修改。

技术分享

Ngen 支持

现可选择使用 Ngen 安装程序集。

技术分享

在扩展目录外安装文件

现在,可选择将文件安装到位于扩展目录之外的一系列所选文件夹。

技术分享

漫游扩展管理器

在新的 Visual Studio 2017 中,漫游扩展管理器可帮助跟踪开发环境中你喜欢的所有扩展。 漫游扩展可在云中创建同步列表,从而跟踪已安装的扩展。

登录到 Visual Studio 时,从“工具”>“扩展”和“更新”,单击“漫游扩展管理器”可快速查看扩展列表。 它可跟踪已安装的扩展,并让你选择要添加到漫游列表的扩展。 库中的新扩展与日俱增,此工具可让你快速轻松地使用钟爱的扩展设置每个开发环境。

技术分享

使用此功能时将注意到 3 种图标类型:

这些图标将显示列表当前的状态。 可使用处于任何状态的任何扩展,因此可自定义你心中所想的内容! 或者,让我们为你代劳! 登录时下载的所有扩展都将作为“漫游且已安装”的内容添加到列表,因此将包含在漫游列表中,使你可在任意计算机上进行访问!

发现项目和项模板

自 Visual Studio 2017 起,突破性地改进了 Visual Studio 使用项目和项模板的方式,提升了模板发现的性能。 新的发现机制现在要求所有项和项目模板均遵循模板清单文件中定义的以下“vstemplate”架构。 模板清单文件中未定义的 Visual Studio 模板在“新建项目”或“新建项”对话框中将不再可见。 新的扩展性工具将在 VSIX 生成期间生成清单;如果你具备随附 MSI 包发布的 Visual Studio 模板,则必须为这些模板手动生成模板清单文件。 有关详细信息,请参阅 Upgrading Custom Project and Item Templates for Visual Studio 2017(升级 Visual Studio 2017 的自定义项目和项模板)MSDN 页面。


.NET Core 和 ASP.NET Core

这包含新的基于 MSBuild 的 .NET Core 工具的 1.0 最终版本。 使用 Visual Studio 2017 可创建 .NET Standard 库、.NET Core 应用/库和使用新 csproj 格式的 ASP.NET web 项目。

在安装程序中,.NET Core 工具自动包含在“ASP.NET 和 Web 开发”工作负载中,且在“.NET 桌面开发”工作负载中作为可选组件。 如果仅要开发跨平台使用的 .NET Core 应用程序,可使用安装程序的“其他工具集”部分中的“.NET Core 跨平台开发”工作负载来仅安装 .NET Core 和 ASP.NET Core 工具。

此版本中的高级功能包括:

请参阅 .NET 博客以了解更多详细信息。


通用 Windows 应用开发工具

更新了 .NET Native 工具链

此更新的 .NET Native 工具链添加了好几个优化功能,可提高 Visual Studio 中托管的 UWP 应用的运行时性能。 此版本包含 600 多个 bug 修复和功能,不仅解决了客户的主要反馈问题,而且还提高了工具链的总体质量。

5.3.0 Microsoft.NETCore.UniversalWindowsPlatform 包

.NET Core NuGet 框架库的此次更新解决了客户报告的许多关键问题。 现有的 UWP 项目可以使用 NuGet 引用管理器更新到此新版本。 此外,新的 .NET Core 包中包含 .NET Native 工具链。

Windows 10 周年更新 SDK 和仿真器

此版本中包括 Windows 10 周年更新的 Windows SDK 和 Windows Phone 仿真器。

用于创建视觉资产的清单设计器功能

清单设计器进行了可视化刷新,现还可生成 UWP 应用的视觉资产。 现可使用单个源映像创建各种尺寸的磁贴、徽标、图标和初始屏幕,以适合应用针对的每种设备的大小。

技术分享

UI 分析

现在,通用 Windows 平台工具可检测一些与辅助功能和性能相关的常见问题。 通过在“诊断工具”窗口的“选择工具”菜单中启用“UI 分析”工具,可报告这些问题,并随附有关阐释问题原因和解决方法的有用文章的链接。 开发时启用 UI 分析可使 UI 性能和辅助功能处于应用程序开发前沿。


Xamarin

Visual Studio 2017 中包括 Xamarin 4.3。 除了 bug 修复外,该版本还添加了对 tvOS 的支持,提升了 iOS 资产目录支持,改进了 XML 编辑体验,并在创建 iOS 应用时添加了 SSL/TLS 和 HttpClient 实现的选择器。 有关更多信息,请参阅 Xamarin 发行说明


Visual Studio 用于 Apache Cordova 的工具

此 Visual Studio 2017 版包括以下改进:

技术分享

技术分享

技术分享

重要事项

适用于 Android 和 Windows 的生成工具和仿真程序现在是可选的。 可通过生成/部署菜单栏动态获取它们。 此版本的 Visual Studio 不支持 Windows Store 8.1 项目。 建议你以 Windows 10 为目标来更新 Cordova 项目。 最低的受支持 Cordova 版本提升至 6.0.0。 面向低于 6.0.0 的 Cordova 版本的项目只有在 config.xml 中升级其项目才能在 Visual Studio 2017 中进行生成和部署。


适用于 Visual Studio 的 Node.js 工具

适用于 Visual Studio 的 Node.js 工具将 Visual Studio 变成功能强大的 Node.js 开发环境。 此版本侧重稳定性、性能和总体产品质量,包括:

感谢你与所有参与者们为此版适用于 Visual Studio 的 Node.js 工具的推出所做出的积极贡献。 有关详细信息,请查看开放源 GitHub 上的 Node.js 工具项目


适用于 Unity 的 Visual Studio 工具

使用 Visual Studio 编写和调试适用于所有平台的 Unity 游戏。 Visual Studio Tools for Unity 3 现已可通过新的 Visual Studio 2017 安装程序中的“使用 Unity 的游戏开发”工作负载进行安装。 Visual Studio Tools for Unity 3 侧重于改进 Unity 开发人员的代码编辑和调试体验,以及总体产品质量,包括:

技术分享


Redgate

Visual Studio 附带 Redgate 开发人员工具 Core Edition

为了将 Visual Studio 2017 DevOps 功能扩展到 SQL Server 数据库开发,Redgate SQL Prompt、Redgate SQL 搜索和 Redgate ReadyRoll 现可用于数据存储和处理工作负载。


NuGet

Visual Studio 2017 包括 NuGet 4.0。 此版本侧重于支持大多数项目类型的包引用、质量改进和性能改进:


用于 XAML 应用的工具

XAML 编辑和继续

Visual Studio 中现在允许在运行 WPF 或通用 Windows 应用的同时编辑 XAML。 在 Visual Studio 中调试应用时,可在 XAML 代码编辑器中对标记作出更改,且所做的更改会反应在运行的应用中,而无需重新进行编译。

增强 XAML 编辑器的生产力

    ![IntelliSense_without namespace](media/intelliSense_without namespace.PNG "IntelliSense_without namespace")

* 对于需要前缀的类型,如果已存在对命名空间的引用,IntelliSense 将自动完成前缀。
 

XAML 性能改进


Data Tools 和 SQL Server

SQL Server Data Tools

Visual Studio 2017 包含了 SQL Server Data Tools 的最新更新,该更新支持 Azure SQL 数据库和 SQL Server 2016 的最新功能。

此版本通过使用 Visual Studio,在所有 SQL Server 支持版本和数据库平台上(本地和云),汇集开发、测试和部署数据库的简便性于一体。 版本还包括了数据库可编程性外围应用增强功能,并改善了 SQL Server Data Tools 中的 SQL 连接体验。现在只需轻松地单击一下,即可自动发现可连接到的 SQL Server 和 Azure SQL 数据库。

此外,Visual Studio 2017 解决了新的 Azure SQL Database 身份验证类型、Azure Active Directory 集成和密码身份验证问题。


开发人员分析工具

Visual Studio 2017 包括开发人员分析工具 v8.6,其中包含以下改进:

有关详细信息,请参阅 Microsoft Azure 文档中的技术发行说明


Visual Studio 的 Office 开发工具

此版包含了附带最新功能和更新的 Office 开发人员工具,具体如下:


体系结构依赖关系的实时验证

如果在 Visual Studio Enterprise 中设置了依赖关系验证关系图(又称层关系图),则在代码编辑器中键入代码时可实时获得体系结构依赖关系规则的任何违反行为的通知。 “错误列表”中显示错误,文本编辑器中的波形曲线显示此违反行为的精确位置。 现在降低了引入非必需依赖关系的可能性。

技术分享


开发人员命令提示符

重构了 Visual Studio 2017 开发人员命令提示符脚本,支持新的安装体验:


用于 .NET 的 Azure SDK

现可使用新的 Visual Studio 安装程序安装 Azure SDK for .NET Visual Studio。 如果以前已使用 Web 平台安装程序安装 Azure SDK for .NET,现则可使用新的 Visual Studio 安装程序安装 Azure 工作负荷以获取相同组件。 安装的包与 SDK 2.9.5 版本具有相同的功能级别。 对于此版本和所有未来版本的 Visual Studio,只能通过 Visual Studio 安装程序获得 Azure SDK for .NET。


增强的 Visual Studio 反馈工作流

Visual Studio 2017 包括升级反馈体验,可改善信息跟进和协作。 作为此次升级的一部分,你将注意到 Visual Studio 中“问题报告”体验的协作性增强,且补充了复合式 Web 门户,形成完全端对端反馈解决方案。 现在,可以搜索、关注、投票并获取之前通过 Visual Studio IDE 的“报告问题”功能提供的所有反馈的最新更新。 这些增强的体验针对我们收到的众多用户反馈,且让用户能够与我们的团队进行双向交流。


已知问题

以下是有关此版本中的已知问题和可用解决方法的说明。


安装问题

Windows 10 SDK 安装失败,返回代码为 -2147023293

编辑器和 IDE 问题

XML 文件不支持 EditorConfig

尚不支持 EditorConfig insert_final_newline 属性和 trim_trailing_whitespace 属性

JavaScript IntelliSense 停止运行

TypeScript 在 ASP.NET Core 项目中无法识别

NuGet 问题

当有多个项目引用解决方案中的另一项目时,NuGet 还原可能会失败

使用包管理器控制台时,“Enter”键可能不起作用

在 .NET Core 项目中,所用包具有带无效签名的程序集时,可能会出现无限还原循环

将无法使用 Nuget 包管理器查看、添加或更新 DotNetCLITools

如果对项目设置 PackageId 属性,则 NuGet 包还原会失败

项目不包含 ‘obj‘ 文件夹时,包还原可能失败

在控制台中使用 Update-Package 手动更新包可能会失败

对目标框架版本重定目标可能会导致 Intellisense 不完整

面向 .NET461 的项目引用面向 .NETStandard 的另一项目时 msbuild /t:restore 出现失败

实时单元测试问题

实时单元测试不适用于 .NET Core 项目

Web 工具已知问题

运行时 MVC4 项目不连接到 SQL Server LocalDB

.NET Core 工具问题

有关 .NET Core 和 ASP.NET Core 工具的当前问题列表,请参阅 GitHub 页面。

“打开文件夹”问题

编辑 launch.vs.json 或 tasks.vs.json 时 IntelliSense 不可用

C# 重构可能会生成不一致的结果

在文件夹模式下 F10 无法启动调试器

对 launch.vs.json 的未保存编辑可能会丢失

重载已经在文件夹模式下编辑的项目可能会失败,并出现一个对话框

测试工具问题

未能发现 UWP 项目,且 Visual Studio VS2017 中创建了 UITestMethod

通过 DeploymentItem 属性修饰测试时,未能从 Visual Studio 中运行测试。

未能从 Visual Studio 中分析测试,出现 MissingMethodException

轻量级解决方案加载问题

启用轻量级解决方案加载后,某些扩展可能会发生意外行为

启用轻量级解决方案加载后,无法使用“编辑并继续”

启用轻量级解决方案加载后,F# 项目不会生成或支持符号导航

启用轻量级解决方案加载时会复制警告

扩展性问题

添加自定义命令或自定义工具窗口时出错

Application Insights 问题

右键单击项目时 Application Insights 可扩展提供程序加载失败

某些 ASP.NET Core 项目无法为页面视图集合添加 Application Insights JavaScript 代码段

团队资源管理器问题

如果存在孤立的 index.lock,则更改索引的 Git 命令可能会失败

通过 SSH 克隆失败

在团队资源管理器中取消 Git 命令不起作用

托管的工作负载开发问题

.NET 2.0/3.0/3.5 项目生成具有不正确目标的程序集

其他问题

在 x86 计算机上无法连接到 (LocalDB)\MSSQLLocalDB

无法在 SharePoint 工作流中创建函数断点

在工作流设计器中,SharePoint 工作流活动可能无法正确加载

使用动态值时,可能无法生成包含工作流的 SharePoint 项目

SharePoint 外接程序项目向导可能无法正确检测项目面向的 SharePoint 的版本

Office Web 外接程序项目可能在错误列表中包含警告

Visual Studio 生成工具 SKU 的 Web 开发工具工作负载中不包含面向 .NET 的包

通过通配包含的文件如果位于项目根目录外,将不会显示在解决方案资源管理器中

VS Test Professional 2017 SKU 不具备团队资源管理器,限制了对 Excel-based/SSRS-based reports from TFS Warehouse/Cube 的访问

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!