首页 > 代码库 > Visual Studio 2017 RC 下载 最新版本的发行说明
Visual Studio 2017 RC 下载 最新版本的发行说明
我们非常荣幸地宣布 Visual Studio 2017 RC 现已推出! 此新版本包括我们最新的功能创新和改进。
注意
这里是 Visual Studio 2017 最新版本的发行说明。
下载:Visual Studio Enterprise 2017 RC
若要了解有关其他相关下载的详细信息,请参阅下载页。 另请参阅 Visual Studio 2017 系统要求和 Visual Studio 2017 平台目标以及兼容性。
重要事项
虽然一般情况下支持在生产环境中使用 Visual Studio 2017 RC,但安装用户界面中标记为“预览”的工作负荷和组件不支持在生产环境中使用。
反馈
我们期待你的宝贵意见和建议! 有关安装程序或 Visual Studio IDE 本身的问题,请通过右上角的报告问题选项告知我们。 在开发人员社区门户网站上跟踪自己的反馈。 如有任何建议,请通过 UserVoice 告知我们。
新增功能
- 新的安装体验
- 增强的 Visual Studio 反馈工作流
- Visual Studio IDE
- 体系结构依赖关系的实时验证
- 实时单元测试
- 开发人员命令提示
- 调试和诊断
- Visual C++
- C# 和 Visual Basic
- F#
- Python
- R
- JavaScript 和 TypeScript
- 用于 XAML 应用的工具
- 通用 Windows 应用开发工具
- Visual Studio 用于 Apache Cordova 的工具
- Xamarin(预览版)
- NuGet
- 开发人员分析工具
- 团队资源管理器
- SQL Server Data Tools
- Visual Studio 的 Office 开发人员工具
- Visual Studio 软件开发工具包
- 用于 .NET 的 Azure SDK
- 适用于 Visual Studio 的 Node.js 工具
- 适用于 Unity 的 Visual Studio 工具
- .NET Core 和 Docker(预览版)
已解决的问题
若要查看此 RC 版中的已解决的问题,请访问开发人员社区门户。
已知问题
- 已知问题
- 安装问题
- 编辑器和 IDE 问题
- NuGet 问题
- 测试工具问题
- 通用 Windows 应用开发工具问题
- 实时单元测试问题
- 轻量级解决方案加载问题
- Web 开发工具问题
- .NET Core 工具问题
- 扩展性问题
- 其他
相关版本
- Microsoft .NET Framework 4.6.2 - Web 安装程序
新增功能
全新安装体验
我们很高兴推出新款全新设计的安装程序:
- 减少 Visual Studio 的最小内存占用量。
- 安装速度更快、系统影响更小和完全卸载。
- 方便你更轻松地选择并仅安装所需功能。
首次安装 Visual Studio 2017 RC 时,会获得新体验:
最小的安装仅为数百兆字节,但仍然支持针对 20 多种语言和源代码管理的基本代码编辑。 大部分用户会想安装更多功能,因此可添加一个或多个“工作负载”,它们代表常见框架、语言和平台 - 涵盖了从 .NET 桌面开发到使用 R、Python 和 F# 的数据科学。
随着发布准备的进展,我们将持续优化和扩展工作负荷列表。 特别是,由于 .NET Core、Xamarin、Python 和数据科学工作负载尚未达到 RC 质量,已将其标记为“预览”质量。 在此阶段,在生产环境中不应依赖于这三个工作负载。
重要事项
如果已在计算机上安装 Visual Studio 2017 的预览版本,系统将会提示在安装 Visual Studio 2017 RC 之前先删除此预览版本。
有关已知问题的详细信息,请参阅本文档的已知问题部分。
对新的安装程序提出反馈
我们非常希望你尝试此预览版,并期待收到你的反馈意见。 你可以使用新安装程序客户端的_报告问题_和_提供建议_来报告问题或提供建议。 具体而言,我们想知道你在安装、卸载或修改安装时是否遇到错误,是否遇到异常安装时间(例如挂起)或意外错误消息。
_RC 中的新功能_创建用于脱机安装和新命令行安装支持的布局
系统管理员现在可以创建 Visual Studio 的脱机布局,其中包含安装产品所需的所有内容,而无需访问 Internet。 为此,请使用 --layout [path]
开关(例如 vs_enterprise.exe --layout c:\mylayout
)运行与要脱机使用的产品关联的引导程序可执行文件。 这将下载脱机安装所需的包。 或者,可以为要包含的产品语言(例如 --lang en-us
)指定区域设置代码。 如果未指定,则将下载针对所有本地化语言的支持。
若要从布局文件夹安装,只需从新创建的布局文件夹中运行引导程序可执行文件即可。 请注意,仍需要从 Internet 下载签名验证证书。 将在即将发布的版本中解决有关进行连接的需要。 最后,请注意,Android SDK 需要通过在线连接才能安装。
还可以运行 C:\Program Files (x86)\Microsoft Visual Studio\Installer\vs_installershell.exe
从命令行安装 Visual Studio 组件。 使用 --help
开关获取有关命令行选项的详细信息。
增强的 Visual Studio 反馈工作流
Visual Studio 2017 包括升级反馈体验,可改善信息跟进和协作。 作为此次升级的一部分,你将注意到 Visual Studio 中“问题报告”体验的协作性增强,且补充了复合式 Web 门户,形成完全端对端反馈解决方案。 现在,可以搜索、关注、投票并获取之前通过 Visual Studio IDE 的“报告问题”功能提供的所有反馈的最新更新。 这些增强的体验针对我们收到的众多用户反馈,让用户能够与我们的团队进行双向交流。
Visual Studio IDE
Visual Studio 2017 RC 包括了许多增强功能。
整体改进
- 可在新的 Visual Studio 安装程序中选择 Visual Studio 适用的 GitHub 扩展。
- 已对 Visual Studio 进行优化以减少启动时间和解决方案加载时间。 首次启动 Visual Studio 提速 50%。
- Visual Studio 现可监视影响启动、解决方案加载或编辑的扩展性能。 系统将通过 IDE 中的通知栏通知有关执行效果不佳的扩展的情况。 使用新的性能中心(也可通过帮助 | 管理 Visual Studio 性能),不仅可以查看影响性能的扩展,还可以发现影响启动性能的工具窗口并更改其启动加载行为。
- 已将“重载所有项目”替换为“重载解决方案”,以支持更佳的将外部分支切换为 VS 的性能。 使用 Git 命令行切换分支时,请在切换分支后选择“重载解决方案”以最大程度地提升性能。
- 增强了用于 .NET Core 和 ASP.NET Core 项目的文件通配功能。 请参阅项目文件通配,以获取更多详细信息。
- 即将自动转到克隆后的存储库的文件夹视图。 可查看文件或使用新解决方案选择列表在解决方案资源管理器中打开解决方案。
- 引入了新的外部服务主机,将取代 VSHub;此新的服务主机是一个外部程序,将在任务管理器中显示为 ServiceHub.Host.CLR.*.exe 和 ServiceHub.Host.Node.x86.exe。 此主机将最终消除与 VSHub 一起引入的 localhost http 流量,前者应可解决用户报告的产生干扰的 Fiddler 问题。
- 预发布许可证到期消息更明确地说明了当前的许可证状态。
- 现在,屏幕阅读器可以更轻松地访问“帐户设置”对话框。
-
通过版本控制状态栏,你可以更轻松地将本地存储库发布到 SCC 主机,并跟踪未提交和未推送的工作。
起始页
- 修改了起始页,增添了“打开”和“创建”功能:
- 从 VSTS 获取远程存储库或使用我们更加醒目的 MRU,以轻松地打开本地项目和解决方案。
- 起始页 MRU 会显示在其他计算机上克隆的存储库,因此可在当前计算机上轻松克隆这些库。
- 通过可搜索的模板和最近使用的模板列表,直接从起始页新建项目。 最近使用的模板也会在具有个性化帐户的 Visual Studio 实例间漫游。
- 通过起始页上的“从 VSTS 签出”选项,快速启动 VSTS 体验的新克隆。
- 可删除的“入门”部分。
- “新闻”部分现可折叠:
- _RC 中的新增功能_更新了新闻源中新添加的项上的徽章。
- _RC 中的新增功能_在新闻源处于折叠状态时,如果出现新项,则对新闻源扩展器设置徽章。
- _RC 中的新增功能_优化了视觉设计,由此解决了反馈的有关屏幕较小时元素截断的问题,同时提升了空间利用率。
“入门”部分和“新闻”如下所示:
“入门”部分已删除,“新闻”已折叠:
改进了代码导航
Visual Studio 2017 RC 中的代码导航功能有了显著改进。
-
通过“转到”功能(Ctrl + 或 Ctrl + T),可快速查找并转到代码中的文件、类型、方法和其他元素。 可直接转到所需的任何类型的项目,即使在较大基本代码中也可实现。 此外,若知道要查找的项目类型,可轻松筛选。
还优化了“转到行”(Ctrl + G)体验。
“转到”系列命令位于“编辑”菜单的顶部。 请参阅已知问题,了解此 RC 版中有关“转到”的一系列已知限制。
-
“查找所有引用”(Shift+F12) 已大幅改进(当前针对 C#、Visual Basic 和 C++),可实现高级分组、筛选、分类、在引用结果中搜索以及结果着色(针对 C# 和 VB),让用户清晰了解引用并自信地找到所需的代码行。 鼠标悬停在一个引用项上时,会显示一个工具提示,其中显示源代码中该引用的上下文(针对 C# 和 VB)。 通过切换工具栏中的“保存结果”按钮,“查找所有引用”的下一个调用将在新窗口中填充引用结果。 通过此操作,可将当前结果保留在现有窗口中。
-
结构参考线现在编辑器中绘制,以便可轻松可视化正在处理的代码的结构。 鼠标悬停时,会显示一个工具提示,其中包含当前代码块(相对于其上级块)的上下文。 结构参考线当前支持 C#、Visual Basic 和 XAML 文件,以及通过 TextMate 语法支持的任何文件。 可通过取消选中“文本编辑器” > “常规”类别下的“显示结构参考线”复选框,在“工具选项”对话框中禁用此功能。
EditorConfig 支持
RC 中的新增功能 Visual Studio 编辑器现支持 EditorConfig,它允许开发人员定义编码样式约定并使其在不同编辑器和 IDE 之间保持一致。 请参阅已知问题,了解此 RC 版中有关 EditorConfig 支持的一系列已知限制。
新的扩展性格式
借助 Visual Studio 2017 RC 中新的安装程序技术,用户可更好地掌控所安装的工具。 一些用户可能仅安装核心 Visual Studio 编辑器,而另一些可能安装若干工作负荷。 现在,扩展作者可在清单中指定扩展所需的单独组件,确保安装了扩展所需的必备功能。
如果扩展不是使用新的 VSIX 格式生成的,用户在尝试安装此扩展时,将会收到警告。 旧的 VSIX 格式不会指定所需实现的先决条件,因此当 Visual Studio 2017 RC 中不具备这些先决条件时,该格式可能无法正常工作。 新的 VSIX 格式是向后兼容的,适用于 Visual Studio 2012 及之前的所有版本。
更新了 VSIX 清单设计器,以反映对清单的更改。 在先决条件选项卡中,扩展开发人员可找到用于指定为扩展先决条件的已安装组件的列表。
在扩展安装期间,VSIX 安装程序将指示缺少哪些组件,并会将其与扩展一并安装。
批量修改扩展
在“扩展和更新”对话框中,现可计划在需要重新启动 Visual Studio 之前,要进行安装、更新和卸载的多个扩展。 在右下角,有一个所有计划任务的摘要。 单击“x”将取消扩展的修改计划。
当 VSIX 安装程序检测到所有 Visual Studio 窗口已关闭后,便会启动以完成计划的修改。
Ngen 支持
现可选择使用 ngen 安装程序集。
- NGEN - 是否对程序集使用 ngen。
- NGEN 应用程序 - 经由 /ExeConfig 开关传递到 ngen 的应用程序。
- NGEN 体系结构 - 本机映像的目标体系结构。 选项有:x86、x64 以及全部。
- NGEN 优先级 - Ngen 优先级别。
在扩展目录外安装文件
现在,可选择将文件安装到位于扩展目录之外的一系列所选文件夹。
- 包括在 VSIX 中 - 是否将文件包括在 VSIX 中。
- 安装根目录 - 要将文件安装在其中的根目录。 选项有:Default(安装在扩展目录内)、MSBuild、Schemas、PublicAssemblies、Licenses 和 ReferenceAssemblies。
- 目标路径 - 要安装在用户计算机上的文件的名称。
- VSIX 子路径 - 安装文件时所用的根目录下的子路径。
漫游扩展管理器
漫游扩展管理器是 Visual Studio 2017 RC 中的新增功能,可帮助跟踪所有开发环境中用户喜欢的全部扩展。 漫游扩展可在云中创建同步列表,从而跟踪已安装的扩展。
登录到 Visual Studio 时,从“工具”>“扩展”>“更新”,并单击“漫游扩展管理器”可快速查看扩展列表。 它可跟踪已安装的扩展,并让你选择要添加到漫游列表的扩展。 库中出色的扩展与日俱增,使用此工具,你可以为每种开发环境设置你喜爱的扩展。
使用此功能时将注意到 3 种图标类型:
- “漫游”图标:表示存在于漫游列表中、但未在此计算机上安装的扩展。 可通过“下载”按钮安装这些扩展。
- “漫游且已安装”图标:表示存在于漫游列表中且已在此环境中安装的所有扩展。 如果你确定不希望漫游,可通过“停止漫游”按钮删除它们。
- “已安装”图标:表示此环境中已安装、但不属于漫游列表的所有扩展。 扩展可通过“开始漫游”按钮添加到漫游列表。
这些图标将显示列表当前的状态。 可使用处于任何状态的任何扩展,因此可自定义你心中所想的内容! 或者,让我们为你代劳! 登录时下载的所有扩展都将作为“漫游且已安装”的内容添加到列表,因此将包含在漫游列表中,你可以从任何计算机对其进行访问!
改进了登录和标识
_RC 中的新增功能_推出了一种新的标识服务,可用于跨 Microsoft 开发人员工具共享用户帐户。 在 Visual Studio 中,此共享包括团队资源管理器、Azure Tools、Windows 应用商店发布等功能。 现在,这些功能的登录体验共有且一致。
除了改进 Visual Studio,我们还在服务端部署了部分改进功能,让用户可安全保持登录状态,消除了每隔 12 小时强制登录的要求。 这解决了最常报告的登录问题。 深入了解如何减少 Visual Studio 提示。
打开文件夹
“打开文件夹”是使用不含项目和解决方案的基本代码的简便方法。 可通过打开“文件菜单”,单击“打开”,然后单击“文件夹”,导航到一个文件夹。
可使用解决方案资源管理器打开和编辑文件。 许多常用语言具有语法突出显示和符号导航(GoTo)支持。 此外,某些语言可直接由文件夹获得高级 IntelliSense 和调试支持:
- C++ (CMake)
- Node.js - JavaScript/TypeScript
- Python
- C# 和 VB
可使用 F5 和解决方案资源管理器中的文件上下文菜单实现生成或调试操作。 要获得最佳体验,请确保安装所使用语言的工作负荷。
文件夹视图也支持以下操作:
- 使用 GoTo (Ctrl+,) 在文件夹中的代码中进行搜索。
- 将解决方案资源管理器文件夹视图的范围设置为子文件夹。
- 在资源管理器中或解决方案资源管理器的命令提示符下打开文件夹。
- 利用解决方案选择下拉列表,在打开的文件夹/存储库的解决方案之间轻松切换。
- 使用 launch.json 配置调试和启动设置。 右键单击一个可调试的文件并选择“调试和启动设置”。
- 使用 tasks.json 配置任务和自定义生成。 右键单击任何文件,并选择“配置任务设置”。
- Launch.json 和 tasks.json 在 JSON 编辑器中具有 IntelliSense。
RC 中的新增功能 大幅提升了打开文件夹和在文件夹视图与解决方案视图之间切换时的效果。
轻量级解决方案加载
轻量级解决方案加载可让大型解决方案的加载速度更快。 对于大型解决方案,轻量级解决方案可大幅节省加载时间和内存使用量。 此功能并非默认启用,可按解决方案对单个解决方案启用,也可在 IDE 中全局启用。 要全局启用,可通过选择“项目和解决方案”下的“常规”或通过使用“快速启动”搜索“轻量级解决方案加载”,导航到“工具选项”对话框。 可在解决方案属性窗格中,为单个解决方案开启和关闭该功能。
轻量级解决方案加载最适合包含 C# 项目或包含混用 C# 和 C++ 的项目的大型解决方案。 如果检测到正在使用大型解决方案,系统可能会提示启用此功能。 有关此功能的更多详细信息,可访问 Visual Studio 博客。
语法着色、自动完成、代码段和对一系列更广泛的语言的“导航到”搜索支持
基于在 Studio 2015 更新版本中添加的支持,Visual Studio 2017 RC 现支持对更多语言进行语法着色和自动完成。 此外,这些语言中的其中一些语言也支持通过“导航到”(Ctrl+) 和/或代码段导航。 有关详细信息,请参阅下面的列表。
以下所示的语言文件支持新“Visual Studio 核心编辑器”中的这些功能(即使并未安装显式支持有问题的语言的工作负载)。 如果安装了提供语言支持的工作负荷(例如 .NET 桌面应用程序开发工作负荷、使用 C++ 的 Windows 桌面应用开发工作负荷、Python 开发工作负荷等),会提供更广泛的语言支持,包括 IntelliSense 和其他高级语言功能(例如灯泡)。
按支持级别列出的语言文件类型:
- 仅支持语法着色和自动完成:
- Bat、Clojure、CoffeeScript、CSS、Docker、F#、Groovy、INI、Jade、Javadoc、JSON、LESS、LUA、Make、Markdown ++、Objective-C、Perl、PowerShell、Python、Rust、ShaderLab、SQL、Visual Basic .NET、YAML。
- 支持代码段(除了语法着色和自动完成以外):
- CMake、C++、C#、Go、Groovy、HTML、Java、Javadoc、JavaScript、Lua、Perl、PHP、R、Ruby、Shellscript、Swift、XML。
- 支持导航到(除了语法着色和自动完成以外):
- C++、C#、Go、Java、JavaScript、PHP、TypeScript、Visual Basic。
项目概述页入门
RC 中的新增功能 从 ASP.NET Core 和 ASP.NET 4.x 项目开始,我们引入了全新的新项目入门体验。 我们从解决方案中移除了 Project_Readme.html 并在新的应用配置设计器中将其替换为一个“概述”选项卡。 我们压缩了此页上的内容,将重点放在可提高运行和执行效率的操作上!
使用服务功能连接到服务
服务功能即 Visual Studio 2017 RC 中现代化的“添加连接的服务”功能或“添加服务引用”功能。 服务功能可使应用与服务间的连接更轻松。 解决方案资源管理器中提供了一个用于 Web 和移动项目类型的名为“服务功能”的新节点。 双击此节点会在 Visual Studio 中打开一个新的整页选项卡,可在其中发现可连接到的热门 Microsoft 服务。
在“服务功能”页上选择一个服务将调用“连接的服务向导”,该向导会配置项目、下载必要的 NuGet 数据包,从而帮助快速轻松地根据服务需要进行编码。
用于连接到 Azure App Service 移动应用的向导
服务功能页包括移动项目的 Azure 移动应用提供程序,可帮助连接到 Azure App Service 以在云中存储数据,添加身份验证,并发送移动应用的推送通知。
体系结构依赖关系的实时验证
在 Visual Studio Enterprise 中,如果设置了依赖关系验证关系图(又称层关系图),则在代码编辑器中键入代码时可实时获得体系结构依赖关系规则违反行为的通知:“错误列表”中显示错误,文本编辑器中的波形曲线显示此违反行为的精确位置。 现在降低了引入非必需依赖关系的可能性。
实时单元测试
_RC 中的新增功能_实时单元测试是我们引入的一个新功能,仅在 Visual Studio 企业版中提供。 此功能能够可视化单元测试结果和在编辑器中进行编码时的实时代码覆盖情况。 该功能可用于适用于 .NET Framework 的 C#/VB 项目,并支持 MSTest xUnit 和 NUnit 这三种测试框架。 这是此功能的早期预览版,具有多个已知问题。
开发人员命令提示符
重构了 Visual Studio 2017 开发人员命令提示符脚本,支持新的安装体验:
- 环境变量仅影响已安装的工作负载。
- Visual Studio 开发人员命令提示符快捷方式应与以前的版本兼容。
现在,你可以通过命令行参数来配置开发人员命令提示符脚本:
- 在命令提示符处,调用
common7\tools\vsdevcmd.bat -help
(从 Visual Studio 安装目录)以获取详细信息。
调试和诊断
运行时单击
RC 中的新增功能 只需在调试运行到此行时单击代码行旁边的图标。 无需再设置临时断点,也不必再执行多个步骤来执行代码和在所需行停止。 现在,调试器下停在中断状态时,“运行时单击”图标会在鼠标悬停位置的代码行旁边巧妙显示。 将鼠标移动到图标,然后单击按钮,代码即会运行并在下次于代码路径中命中时停在该行。 可通过“调试”>“选项”>“启用‘运行时单击’”将其关闭。
“附加到进程”筛选器
_RC 中的新增功能_在“附加到进程”对话框中轻松搜索,快速查找要将调试器附加到的进程。 将对正在运行的进程列表进行筛选,以筛选出与搜索条件匹配的项。 搜索筛选器具有记忆功能,会在重新打开对话框时提供之前的搜索内容。
重新附加到进程
_RC 中的新增功能_现可快速重新附加到之前调试的进程。 触发新的“调试/重新附加到进程...” (Shift+Alt+P) 命令将立即尝试将调试器附加到从“附加到进程”对话框调用的上一个调试会话的最后一系列进程。 调试器将通过先尝试匹配上一个进程 ID,然后匹配上一个进程名称,再次附加到进程。 如果没有找到匹配项,或找到多个具有相同名称的进程,则会出现“附加到进程”对话框,可通过它选择所需的进程。
新的异常帮助器
新的“异常帮助窗口”可用于查看异常信息,该信息显示在非模式对话框中,可对内部异常进行即时访问。
在诊断 NullReferenceException 时快速查看异常帮助器中为 null 的内容。
现可在引发的异常处停止时单击复选框添加条件,排除特定模块引发的异常类型。
请阅读此博客文章,更详细地了解新的异常帮助器优势。
将条件添加到异常设置
如果你将调试程序设置为在引发时中断,则可以添加条件,以便调试程序仅在指定模块中引发异常时才中断。
调试器辅助功能的改进
_RC 中的新增功能_现可更有效地将多个调试器窗口(调用堆栈、局部变量、自动、监视和快速监视)与屏幕阅读器配合使用以及用于满足其他辅助功能需要。
.NET Core 的 IntelliTrace 事件
_RC 中的新增功能_IntelliTrace 现在支持 ASP.NET Core 应用的 MVC、ADO.NET 和 HttpClient 事件。 这些事件将显示在“诊断工具”窗口中的“事件”选项卡中。
“诊断工具”窗口更新
_RC 中的新增功能_启动调试会话后,将在“诊断工具”窗口中看到应用程序的新“摘要”视图。 从此处,将能够:
- 查看应用程序中发生的 Application Insights 和 UI 分析事件(仅适用于 UWP 应用)的数量。 在 Visual Studio Enterprise 中,还将能够查看异常数和 IntelliTrace 事件数。
- 获取堆的内存快照。
- 启用和禁用 CPU 分析。
性能探查器更新
RC 中的新增功能性能探查器现可附加到正在运行的进程。 CPU 使用率工具、GPU 使用率工具和性能向导支持附加到正在运行的进程。
CPU 使用率工具更新
CPU 使用率工具在 Visual Studio 2017 RC 中具有多项改进:
- 更好的外部代码支持:CPU 工具现在可以使你更深入地了解库和框架函数被用户代码调用时的成本。
-
通过函数的 CPU 成本对其进行排名的函数视图。
-
“调用方/被调用方”视图可用于调查进出所选函数的函数调用的成本。
-
添加了源视图,其在 CPU 工具中选定函数时显示函数的源代码。
Chrome 调试支持
当开始调试 ASP.NET 项目并选择 Google Chrome 作为浏览器后,Visual Studio 将调试在 Chrome 中运行的 JavaScript。
Visual C++
Visual Studio 2017 向 Visual C++ 环境引入了许多更新和修补程序。 我们修复了编译器和工具中的 250 多个 bug 和已报告问题,其中很多是客户通过 Microsoft Connect 提交的。 感谢你报告 bug!
Visual Studio 2017 RC 中编译器和工具的版本编号是 14.10.24629。
C++ 代码分析
用于强制执行 C++ 核心准则 的 C++ 核心检查器现已通过 Visual Studio 分发。 只需在项目“属性”页的“代码分析扩展”对话框中启动检查器,即会在运行代码分析时包含扩展。
C++ 编译器
在此版本中,我们更新了 C++ 编译器和标准库,不仅增强了对 C++11 和 C++14 功能的支持,还初步提出了对预期推出的特定 C++17 标准功能的支持。 编译器支持通用 constexpr 和聚合的 NSDMI,具有 C++14 标准版中的全部新增功能。 请注意,编译器仍缺少 C++11 和 C++98 标准版中的一些功能。 Visual Studio 2017 RC 允许结合使用 /SDL 和 /AWAIT。 删除了协同程序的 /RTC 限制。 此版本在优化和代码生成方面做出了若干改进。 显著改进包括:
- 改进了循环的代码生成:支持常量整数除法的自动矢量化,优化了 memset 模式的识别。
- 提高了代码安全性:改进了缓冲区溢出编辑器诊断的显示,/guard:cf 现可保护生成转移表的切换语句。
/Debug:fastlink 选项得到改进,相较 Visual Studio 2015,大组件上的链接速度提升了 30%。
C++ 库
标准模板库:
- 对 basic_string _ITERATOR_DEBUG_LEVEL != 0 诊断进行了小幅改进。 在字符串机制中进行 IDL 检查现在将报告触发该检查的特定行为。 例如,现在会收到“无法取消引用字符串迭代器,因为其已超出范围(例如末尾迭代器)”,而不是“字符串迭代器不可取消引用”。
- 性能改进:basic_string::find(char) 重载仅调用 traits::find 一次。 以前会将此操作实施为针对长度为 1 的字符串的常规字符串搜索。
- 性能改进:basic_string::operator== 现会在比较字符串内容之前检查字符串的大小。
- 性能改进:删除了 basic_string 中编译器优化程序难以分析的控制耦合。 解决了 VSO# 262848“:reserve() 执行了过多操作”。 请注意,对于所有短字符串,调用 reserve 后即使不执行任何操作仍会耗用资源。
- 我们增添了 <any>、<string_view>、apply()、make_from_tuple()。
- 对 std:: vector 进行了全面改进以提高正确性和性能:现可按标准版的要求正确处理插入/定位期间的别名化,在标准版需要时可通过 move_if_noexcept() 和其他逻辑提供强大的异常保障,并且插入/定位执行的元素操作减少。
- 现在 STL会避免取消引用 null 复杂精致指针。
- 增添了 <optional>、<variant>、shared_ptr::weak_type 和 <cstdalign>。
- 在 min/max/minmax(initializer_list) 和 min_element/max_element/minmax_element() 中启用了 C++14 constexpr。
- 改进了 weak_ptr::lock() 性能。
- 修复了 std::promise 的移动赋值运算符,该运算符之前可导致代码永久受阻。
- 修复了编译器错误,将 atomic<T *> 隐式转换为 T *。
- pointer_traits<Ptr> 现可正确检测 Ptr::rebind<U>。
- 修复了 move_iterator 减法运算符中缺少的 const 限定符。
- 针对需要 propagate_on_container_copy_assignment 和 propagate_on_container_move_assignment 的有状态用户定义的分配器,修复了无提示的错误代码生成。
- atomic<T> 现可容忍重载的 operator&()。
- 为提高编译器吞吐量,STL 标头现不会包含非必需编译器内部函数的声明。
- 略微改进了针对错误的 bind() 调用的编译器诊断。
C++ IDE
现在默认使用全新的基于 SQLite 的数据库引擎。 这将提高数据库操作(如“转到定义”和“查找所有引用”)的速度,并将极大地缩短初始解决方案分析时间。 设置已移至“工具”>“选项”>“文本编辑器”>“C/C++”>“高级”下(之前位于...“C/C++”>“实验”下)。
我们改进了不使用预编译标头的项目和文件的 IntelliSense 性能 - 为当前文件中的标头创建自动预编译标头。
还为错误列表中的 IntelliSense 错误添加了错误筛选和帮助。 单击错误列现在允许进行筛选。 此外,单击特定错误或按 F1 将启动错误消息的联机搜索。
增添了按类型筛选“成员列表”项的功能。
添了新的实验性预测 IntelliSense 功能,此功能可根据上下文筛选成员列表中的所示内容。
新的“查找所有引用”UI 包括有关是否要从 C++ 代码结果中的变量读取或向其写入的信息。
_RC 中的新增功能_已将“点到箭头”IntelliSense 功能从实验级提升为高级,且现在为默认启用。 编辑器功能“展开作用域”和“展开优先级”也已从实验级提升为高级。
_RC 中的新增功能_实验性的重构功能“更改签名”和“提取函数”现默认可用。
_RC 中的新增功能_我们启用了用于 C++ 项目的新实验性功能“快速项目加载”。 下次打开 C++ 项目时,加载速度将更快,并且越来越快!
_RC 中的新增功能_改进了“打开文件夹”体验。 通过“打开文件夹”加载源,可编辑、构建和调试非 MSBuild C++ 项目。 通过以下 json 文件自定义体验:
- 使用 CppProperties.json 可自定义 IntelliSense 和浏览体验。
- 使用 Tasks.json 可自定义生成步骤。
- 使用 Launch.json 可自定义调试体验。
_RC 中的新增功能_无需在根文件夹中创建 CppProperties.json 文件,C++ IntelliSense 便可正常工作。 此外,我们增添了一个新的下拉列表,允许用户在分别由 CMake 和 CppProperties.json 文件提供的配置之间轻松切换。 “打开文件夹”中的 CMake 支持在使用“打开文件夹”打开 CMake 项目时会自动配置用于 C++ 编辑、构建和调试的环境。
_RC 中的新增功能_通过 CMakeLists.txt 文件所在的同一文件夹中的 CMakeSettings.json 文件提供进一步的配置支持。
C++ 安装工作负荷
使用 C++ 的 Windows 桌面开发:
现提供原始 C++ 工作流的更细化的安装体验。 我们添加了可选组件,使你能够仅安装所需工具。 请注意,在安装程序用户界面中列出的组件的安装大小的指示并不准确,而且它低估了整个大小。
使用 C++ 的 Linux 开发:
热门扩展“用于 Linux 开发的 Visual C++”现已纳入 Visual Studio。 此安装提供开发和调试运行在 Linux 环境中的 C++ 应用程序所需的一切信息。
使用 C++ 的游戏开发:
以 DirectX 或 Cocos2d 为后盾,利用 C++ 的强大功能构建专业游戏。
使用 C++ 的移动开发(Android 和 iOS):
现可利用 Visual Studio 创建和调试面向 Android 和 iOS 的移动应用。
通用 Windows 平台开发:
C++ 是通用 Windows 平台开发工作负荷的可选组件。 当前必须手动完成 C++ 项目的升级:如果在 Visual Studio 2017 RC 中打开面向 v140 的 UWP 项目,且如果没有安装 Visual Studio 2015,则需要在项目属性页中选择 v141 平台工具集。
Clang/C2 平台工具集
Visual Studio 2017 RC 附带的 Clang/C2 工具集现在支持 /bigobj 开关,这对生成大项目来说至关重要。 它还在编译器的前端和后端进行了多项重要的 bug 修复。
C# 和 Visual Basic
IDE 体验和工作效率
Visual Studio 提供新的重构操作,用于通过单个操作组织源代码:
- _RC 中的新增功能_使用初始值设定项简化对象初始化:
- _RC 中的新增功能_利用新的 C#7 功能以内联方式移动
out
变量声明:
- _RC 中的新增功能_利用新的 C#7 功能,使用 null 合并运算符简化 null 检查和引发表达式:
- 将类型移动到匹配文件:通过
Ctrl+.
单击一下,提取某文件中的类型并将其置于带匹配名称的另一文件。 - 同步文件和类型名称:如果文件和类型名称不同步,可使用
Ctrl+.
。 - 将
String.Format
转换为字符串插值:借助此“快速操作”利用 C# 6 语言功能。
此版本还改进了 IntelliSense,可帮助在处理较大解决方案或不熟悉的代码库时提高工作效率。 我们为 IntelliSense 添加了图标任务栏,可供你按类型(如方法、属性、类等)筛选成员列表。 每个筛选器切换都具有关联的键盘快捷方式,可以通过将鼠标悬停在该图标上来发现。 若要启用此功能,请转到“工具”>“选项”>“文本编辑器”>“[C# |Visual Basic]”>“IntelliSense”,选择筛选选项并突出显示。
我们还添加/更新了样式分析器,以帮助你自定义和强制执行团队的编码约定,包括:
- 命名样式规则。
- 使用“var”或显式类型。
- 对访问成员 使用“this.” 或“Me.”。
- 缺少大括号。
-
缺少开关大小写。
在此版本中包括的其他新功能:
- 你现在可以通过定位游标中间字符串并按 Enter 键,将一个长字符串拆分为多个串联字符串。
- 一种将属性转换为方法的新的代码操作。
- 现在我们可以在 NavigateTo 搜索结果中使用模糊匹配。
Visual Studio 2015 Update 还包括对 IDE 体验的以下方面改进:
- 添加对 NuGet 包的引用以作为一种快速修复方式的选项。
- 使用 null 条件运算符简化委托调用并引发事件的重构。
- 根据需要同步异步方法的重构。
- 对 Add Using 命令的改进,以支持“模糊”匹配拼写错误的类型,包括添加任何所需的项目或元数据引用。
语言扩展和分析器
此版本还包括一些建议的新语言扩展,我们正在为 C# 和 Visual Basic 后续版本而对此不懈努力。 这些新增的语言功能默认启动并包括:
对于 C#:
- 类似任务的异步方法返回类型:这可从异步方法中返回任何类似任务的类型。 以前,这些返回类型限制为
Task<T>
和Task
。 - 值元组 引入使用元祖临时对一组类型化的值分组的语言支持。 若要了解详细信息,请查看 GitHub 上的 设计说明。
- 嵌套的本地函数 对语言进行了扩展,以支持在块范围内声明函数。
- 模式匹配扩展 通过函数式语言带来了代数数据类型和模式匹配的许多优势。
- 引用返回 使函数可以按引用返回值。
对于 Visual Basic:
- 值元组引入使用元组临时对一组类型化的值分组时的语言支持:
Dim point As (x As Integer, y As Integer) = GetOffset()
。 - ByRef 返回消耗可扩展语言,支持使用具有 ByRef 返回的库中的函数和属性。
- 二进制文本和数字组分隔符允许二进制数的本机表示形式。 这对位掩码和标志枚举非常方便:
&B1001_0011
。
有关详细信息,请关注我们的 GitHub 上的开发以了解这些以及其他建议的语言扩展和 API。
最后,我们投入了大量工作来提高存在用于计算诊断和 CodeLens 信息的后台操作时的 IDE 响应。
F#
对 F# 4.1 语言功能的支持:
- 与 C# 7/VB 15 元组互操作的结构元组。
- 支持使用 C# 7 ref 返回的 Byref 返回。
- 带
[<Struct>]
属性的结构记录支持。 - 带
[<Struct>]
属性的结构可区分联合支持。 - 新的
Result<‘TSuccess, ‘TFailure>
类型,带有 FSharp.Core 中的支持函数。 fixed
关键字,其支持在堆栈上本地固定指针类型。- 数值文本中的下划线。
- 调用方信息特性参数。
- 同一文件中通过
namespace rec
和module rec
的相互引用类型和模块。 - 模块上与类型共享同一名称的隐式“Module”后缀。
对 F# 编译器和 FSharp.Core 的诸多改进:
- 改进了错误消息。
- 提升了 FSharp.Core 中的性能。
- 改进了 F# 和 C# 之间的互操作。
- 大幅改进了静态解析的类型参数。
- 支持生成可移植的 PDB。
基于 Roslyn 工作区的新编辑器,具有以下功能:
- 文本完成。
- 类型着色。
- 基于 Roslyn 的“转到定义”。
- 基于 Roslyn 的大括号匹配。
- 基于 Roslyn 的缩进。
- 基于 Roslyn 的断点解决方法。
Python
除了针对核心编辑和调试体验的许多改进和修复外,此版本还包括一个 Python 工作负荷,以便用户可轻松选择可选功能和简化安装。
- Python 工作负荷,用于开发脚本、Web 应用程序和使用熟悉的框架和包实现自动化。
- 数据科学工作负荷,用于使用 Python、R 和 F# 的交互式数据分析。
- 安装选项提供自 Continuum Analytics,适用于 Python 或 Anaconda。
- Cookiecutter 资源管理器,用于搜索、安装并从 Cookiecutter 模板生成项目。
- 使用 Ctrl+Enter 将当前行或代码单元格发送到交互式窗口。
- 使用同一或不同版本的 Python 创建所需数量的交互式窗口。
- 将自定义脚本定义为启动交互式会话时自动运行。
- 使用 Python 本机开发选项和 C++ 模板创建和调试用于 Python 3.5 和更高版本的 C 扩展。
- 编辑器和交互式窗口中文件名称的完成。
- 现在,会在针对每个项目的单独进程中运行代码分析,从而优化并行和内存使用情况。
- 显著改进了搜索路径、压缩、egg 和扩展模块引用的性能。
可通过我们的 github 页面获取一个有关改进、bug 修复、参与者和 Python 语言支持的源代码的完整列表。
R
R 语言支持作为数据科学工作负荷的一部分提供。 下面是对此版本的更改总结:
- 多个数据表查看器 + 对每个列排序。
- 从变量资源管理器删除变量。
- 转到库函数的定义。
- 可折叠代码区域。
- Intellisense、Peek in RMarkdown。
- 搜索光标下当前令牌的 Web 站点 (stackoverflow)。
- 绘制:Windows DPI 支持 + 定位符支持。
- 集成的 Microsoft R 客户端。
JavaScript 和 TypeScript
TypeScript 2.1
_RC 中的新增功能_TypeScript 2.1 RC 适用于 Visual Studio 中的所有 TypeScript 项目。 TypeScript 2.1 提供下层 async/await、更好的类型推理、本地对象扩展及更多功能! 若要详细了解此版本,请查看 发布博客文章或完整更改日志。
JavaScript 语言服务
提供新的 JavaScript 语言服务,并默认启用。 新服务使用 TypeScript 定义文件来改进 IntelliSense,并包含对 JSDoc 注释批注、ES6 和常见 JS 模块格式的 IntelliSense 支持。 此外,它还支持 JSX 语法和 ES2016 的功能,如生成器、模块和修饰器。
有关详细信息,请参阅 GitHub 上的 Salsa 文档。
用于 XAML 应用的工具
XAML Diagnostics
运行时工具栏现在具有跟踪焦点的选项。 启用后,正在运行的应用中每次焦点更改时,Visual Studio 中的实时可视化树将自动选择具有焦点的任何元素。 此功能旨在帮助开发人员跟踪与焦点相关的问题,例如被错误地设置为制表位的元素。
XAML 编辑和继续
Visual Studio 现在允许你在 WPF 或通用 Windows 应用运行的同时编辑 XAML,以及查看正在运行的应用的这些更改。 你可以在代码编辑器中更改标记,相应的更改将反映在正在运行的应用中,而无需重新编译应用程序。 此预览版包括一些属于正在进行开发的功能的改进和 Bug 修复。
增强 XAML 编辑器的生产力
- IntelliSense 筛选:键入 XAML 时,完成列表将仅显示匹配的类型,且选中匹配度最高的项。
- IntelliSense for x:Bind:绑定到路径和事件时,针对 X:Bind 完成了 IntelliSense。
-
命名空间完成:
-
RC 中的新增功能 如果不存在对命名空间的引用,则在键入时将不会获得 IntelliSense 支持,但完成键入后,将获得灯泡支持以生成和插入该类型的前缀并在 XAML 文档中添加命名空间定义。
-
对于需要前缀的类型,如果已存在对命名空间的引用,IntelliSense 将自动完成前缀。
-
-
_RC 中的新增功能_命名空间前缀重命名重构:可从上下文菜单或在光标位于前缀上时使用键盘快捷方式 Ctrl+R+R 调用重命名操作。 还可在应用更改之前预览更改。
-
_RC 中的新增功能_删除命名空间和对其进行排序:现在可从上下文菜单或使用键盘快捷方式 Ctrl+R+G 删除不必要的命名空间和对其进行排序。 如果 XAML 文档具有不必要的命名空间,还将看到一个可用于删除这些命名空间的灯泡标记。
-
对 XAML 编辑器的 .editorconfig 支持:可在 .editorconfig 文件中定义 indent_style、indent_size 和 tab_width 的设置,将用此设置替代“工具”>“选项”中定义的设置。
-
用于 XAML 编辑器的结构可视化工具:结构可视化工具(即缩进参考线)现已内置到 Visual Studio 中,无需单独扩展。 通过此功能,一眼便能查看正在处理的代码块的上下文,无需滚动。
XAML 性能改进
- 改进了 XAML 选项卡的切换性能:XAML 选项卡切换性能已显著增强,在一个客户项目样本中,我们发现切换时间减少幅度超过 90%。
- 解决 XAML 编辑器键入延迟问题:现在,XAML 键入变得前所未有的快速。 我们在此方面做了若干改进,大多数开发人员会发现 XAML 编辑器和 XAML IntelliSense 的响应性更高。 在使用第三方控件或大型控件库的项目中编辑 XAML 文件时,这一点非常明显。
通用 Windows 应用开发工具
- 更新的 .NET Native 工具链。 此更新的 .NET Native 工具链添加了好几个优化功能,可提高 Visual Studio 中托管的 UWP 应用的运行时性能。 此版本包含 600 多个 bug 修复和功能,不仅解决了客户的主要反馈问题,而且还提高了工具链的总体质量。
- 5.2.2 Microsoft.NETCore.UniversalWindowsPlatform 包。 .NET Core NuGet 框架库的此次更新解决了客户报告的许多关键问题。 现有的 UWP 项目可以使用 NuGet 引用管理器更新到此新版本。
- Windows 10 周年更新 SDK 和仿真器。 此版本中包括 Windows 10 周年更新的 Windows SDK 和 Windows Phone 仿真器。
- 现可使用较少的 XAML 标记从工具箱创建 UI 元素,让 XAML 更简洁、更易读。
- 通过 XAML 设计器上的新选项工具,开发人员可选择要在设计图面上预览的 UI 主题和高对比度设置。
- “属性”窗口中的值编辑器现接受简单的数学公式,如“60 + 20”。 将立即计算公式(本例中等于 80),生成的值放入 XAML。
用于创建视觉资产的清单设计器功能
清单设计器进行了可视化刷新,现还可生成 UWP 应用的视觉资产。 现可使用单个源映像创建各种尺寸的磁贴、徽标、图标和初始屏幕,以适合应用针对的每种设备的大小。
UI 分析
现在,通用 Windows 平台可检测一些与辅助功能或性能相关的常见问题。 通过在“诊断工具”窗口的“选择工具”菜单中启用“UI 分析”工具,可报告这些问题,并随附有关阐释问题原因和解决方法的有用文章的链接。
Visual Studio 用于 Apache Cordova 的工具
此 Visual Studio 2017 RC 版包括以下改进:
- Cordova 模拟。 基于浏览器的新模拟器可实现快速编码并即时在浏览器中查看结果。 实时重新加载、插件模拟和 Ionic 框架支持使 Visual Studio 拥有市场中最快的开发人员工作流。
-
支持 iOS 10 和 XCode 8。 用于 iOS 开发的
remotebuild
生成代理的更新现包括 XCode 8 支持。 -
错误着色。 诊断生成故障经常需要开发人员通读生成输出,因此我们开始在生成输出窗格中将错误着色,让读取变得更轻松。 此外,还添加了标头来描述生成进度中的步骤,帮助开发人员识别生成进度中出现故障的位置。
- 产品随附。 除了用于加速 Cordova 应用构建的轻量级安装,现在添加了来自 Visual Studio 内的路径以在开发过程中获取额外的生成块。 如果未安装 Android 或 Windows 组件,可通过部署栏获取它们,部署栏将启动 Visual Studio 安装程序,在安装过程中为用户提供指导。
- 快速可靠的生成。 新的 Visual Studio 安装程序,结合经过完全验证的第三方组件工具链的脱机安装,可加快生成速度,且这些生成更易于进行故障排除和修复。
重要说明:
- 适用于 Android 和 Windows 的生成工具和仿真程序现在是可选的。 可通过生成/部署菜单栏动态获取它们。
- 此版本的 Visual Studio 不支持 Windows Store 8.1 项目。 建议你以 Windows 10 为目标来更新 Cordova 项目。
- 最低的受支持 Cordova 版本提升至 6.0.0。 面向低于 6.0.0 的 Cordova 版本的项目只有在
config.xml
中升级其项目才能在 Visual Studio 2017 RC 中进行生成和部署。
Xamarin(预览版)
Visual Studio 2017 RC 中包括 Xamarin 4.3。 除了大量的 Bug 修复,该版本还添加了对 tvOS 的支持,提升了 iOS 资产目录支持,改进了 XML 编辑体验,并在创建 iOS 应用时添加了 SSL/TLS 和 HttpClient 实现的选择器。 有关更多信息,请参阅 Xamarin 发行说明。
NuGet
Visual Studio 2017 RC 包括 NuGet 4.0 RC。 此版本侧重于支持大多数项目类型的包引用、质量改进和性能改进:
-
在 .NET Core 和 ASP.NET Core 项目中,现使用包引用管理包。
-
在 Visual Studio 2017 及更高版本中,计算机范围内的 NuGet.config 现位于 @ %PROGRAMFILES(X86)%\NuGet\Config\NuGet.config。 今后 nuget.exe v4.0.0 + 也将考虑为计算机范围内的配置使用新位置。 将不再隐式引用程序数据中的 NuGet.config 或考虑将其用于 nuget.config 的层次结构合并。
开发人员分析工具
Visual Studio 2017 RC 包括开发人员分析工具 v8.3,其中包含以下改进:
- CodeLens 中的请求遥测。
- Application Insights 配置,一个用于将 Application Insights 添加到项目和管理 Application Insights 设置的窗口。
- 查看新的“跟踪操作”选项卡中的一个操作所涉及的事件,该操作针对 Application Insights 搜索中的事件执行。
- 诊断工具中请求的生产遥测信息。
- 从 Application Insights 搜索中事件的详细信息创建工作项。
- 使用自定义 ASP.NET 路由优化遥测事件和服务的 ASP.NET 控制器方法之间的映射。
- HockeyApp SDK 已更新到版本 4.2.2。
- Application Insights 趋势中的筛选器窗格现可调整大小。
有关详细信息,请参阅 Microsoft Azure 文档中的技术发行说明。
团队资源管理器
连接到 VSTS
在 Visual Studio 起始页上,对在 VSTS 中连接到项目和克隆存储库的过程进行了个性化和简化。 全新的“连接”页面仅显示已在所有 VSTS 帐户中映射和克隆的项目和存储库(而非显示每个项目的每个存储库)。 此外,你在克隆存储库前不再需要连接到某个项目。
工作项表单
如果从 Visual Studio 2017 RC 连接到 Visual Studio Team Services 并打开工作项,Web 浏览器中会显示工作项表单。 不过,如果你连接到的是 Team Foundation Server 2015 或更早版本,则看到的是旧版工作项表单。
SQL Server Data Tools
Visual Studio 2017 RC 包含了 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 RC 解决了新的 Azure SQL Database 身份验证类型、Azure Active Directory 集成和密码身份验证问题。
Visual Studio 的 Office 开发工具
此 RC 版包含了附带最新功能和更新的 Office 开发人员工具,具体如下:
- 新增了特定于 Excel、Word、PowerPoint 和 Outlook 的新 Office 外接程序模板。
- 支持新增的 Office 外接程序功能,如外接程序命令、Fabric UI 和 Office.js 的新版本。
- 模板中新增了起始代码,用于展示如何开始使用新的 Office 外接程序功能。
- 支持 SharePoint 解决方案中的 SharePoint 2016 和外接程序模板。
Visual Studio 软件开发人员工具包
自 Visual Studio 2017 RC SDK 起,突破性地改进了 Visual Studio 使用项目和项模板的方式,提升了模板发现的性能。 新的发现机制现在要求所有项和项目模板均遵循模板清单文件中定义的以下“vstemplate”架构。 模板清单文件中未定义的 Visual Studio 模板在“新建项目”或“新建项”对话框中将不再可见。 新的 VSSDK 工具将在 VSIX 生成期间生成清单,如果你有作为 MSI 程序包的一部分发布的 Visual Studio 模板,则必须为这些模板手动生成模板清单文件。 有关详细信息,请访问升级 Visual Studio 2017 的自定义项目和项模板 MSDN 页面。
用于 .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 的 Node.js 工具
适用于 Visual Studio 的 Node.js 工具将 Visual Studio 变成功能强大的 Node.js 开发环境。 此版本侧重稳定性、性能和总体产品质量,包括:
- 优化了与新的 Salsa JavaScript 语言服务之间的集成。
- 降低了内存和 CPU 使用率,缩短了项目加载时间。
- Pug 模板文件支持。
- 更多最新式的项目模板。
- Mocha 3.x 测试框架支持。
- 大量 Bug 修复。
感谢你与所有参与者们为此版适用于 Visual Studio 的 Node.js 工具的推出所做出的积极贡献。 有关详细信息,请查看开放源 GitHub 上的 Node.js 工具项目。
适用于 Unity 的 Visual Studio 工具
使用 Visual Studio 编写和调试适用于所有平台的 Unity 游戏。
适用于 Unity 的 Visual Studio 工具 3 预览版现已可通过新的 Visual Studio 2017 RC 安装程序中的“使用 Unity 的游戏开发”工作负荷进行安装。
适用于 Unity 的 Visual Studio 工具 3 预览版侧重于改进 Unity 开发人员的代码编辑和调试体验,以及总体产品质量,包括:
- Unity 消息的 Intellisense 支持。
- Unity 消息的代码着色。
- 改进了 Unity 调试器中的表达式计算。
- 改进了 Unity 消息向导,支持所有可接收消息 Unity 类型。
- 大量 Bug 修复和优化。
.NET Core 和 Docker(预览版)
_RC 中的新增功能_获取未来的 .NET Core 工具的早期预览版。 该预览版作为安装程序中“.NET Core 和 Docker 工具(预览版)”下的工作负荷提供。 这是早期预览版,最适合用于简单的新项目。 该预览版存在若干个已知问题。 此版本中的高级功能包括:
- .NET Core 项目的 MSBuild 支持和简化的 csproj 项目格式,使用该格式可轻松实现手动编辑,而无需卸载项目。
- 项目文件中的文件通配符支持,可实现无需包含单独文件的基于文件夹的项目。
- NuGet 包引用现在是 csproj 格式的一部分,从而将所有项目引用合并在一个文件中。
- .NET Core 项目和 .NET Framework 与 Xamarin 项目之间的互操作。 例如,.NET Core 项目现可引用标准(即非核心).NET 项目。
- 一个项目中跨目标的多个目标框架。
- Web 发布从 PowerShell 移动到 MSBuild。
- 使用 IDE 或命令行接口 (CLI) 将现有 .NET Core 项目从 project.json 迁移至 csproj。
- 轻松配置 ASP.NET Core 应用程序与 Docker 支持的持续生成集成和配置从 Visual Studio IDE 内部到 Azure 容器服务的持续生成交付。
有关 .NET Core 工具的最新问题列表,请参阅我们的 GitHub 页面。
已知问题
以下是有关此 RC 版本中的已知问题和可用解决方法的说明。
安装问题
Visual Studio 2017 RC 中的语言包支持
-
问题:
此版本的 Visual Studio 仅支持用于用户界面的单个语言包。 不能在同一 Visual Studio 实例中为用户界面安装两种语言。 此外,必须在初始安装过程中选择 Visual Studio 的语言,且无法在“修改”期间更改。
-
解决方法:
下一个版本将解决这些已知问题。 要更改此版本中的语言,可卸载并重新安装 Visual Studio。
O365 和 Azure AD 身份验证服务功能的域下拉列表为空
-
问题:
位于“服务功能”屏幕时,会看到一些服务功能。 如果单击 Office 365 API 或 Azure AD 身份验证,则会显示域下拉列表。 如果已登录到 Visual Studio,此下拉列表中应填充此用户有权访问但却为空的域。 如果应有域,但却没有出现,那么应采用下列解决方法。 如果无用户登录到 Visual Studio 或帐户管理对话框中未添加任何帐户,则下拉列表可能为空。 如果帐户的凭据已过期,则下拉列表也可能为空。
-
解决方法:
运行 Visual Studio 安装程序并修改已安装的产品,以在“Web 和云”部分下包含“Azure 开发”工作负荷。
安装失败时无重试按钮
-
问题:
如果在安装时发生非致命错误(例如无法安装可选组件),将显示一个消息框,指示出现错误,并附有日志链接。 关闭消息框时将安装 Visual Studio,但并非所有工作负荷在安装中都可用。 已安装的产品列表中不会显示任何警告。
-
解决方法:
单击“修改”以确认需要安装的组件。 否则,使用“修复”尝试再次安装这些组件或工作负荷。
脱机安装需要 Internet 连接才能下载安全证书
-
问题:
创建脱机安装后,在整个安装过程中,需要通过 Internet 连接到目标计算机以下载安全证书。
-
解决方法:
我们正在为未来的版本研究完全脱机/断开连接的安装体验。
安装适用于通用 Windows 应用的工具时出现“安装失败”错误
-
问题:
在安装通用 Windows 应用工作负荷时,如果在安装 Visual Studio 2017 RC 之前卸载了 Visual Studio 2015,可能会收到“安装失败”错误。 安装日志还包含 Windows SDK 错误,“未能安装包 ‘Win10SDK_版本。 ...详细信息:下载产品时出现问题。”
-
解决方法:
解决此问题:
- 从“程序和功能”中,选择 Windows 软件开发工具包,然后单击“更改”,或下载并运行 Windows 10 SDK (14393) 安装程序。
- 在 Windows SDK 安装程序中,选择“Windows 软件开发工具包”和“.NET Framework SDK”功能。
- 运行 Visual Studio 安装程序,单击“修改”,然后单击“安装”。 不需要更改任何功能选择。
安装 Test Pro 后,可能无法使用开始菜单启动 Visual Studio
-
问题:
在已安装 Visual Studio 2017 的计算机上安装 Microsoft Test Professional 时,Visual Studio 2017 的开始菜单项可能会从不同于首次安装的目录的目录中启动非工作的 Visual Studio 安装。
-
解决方法:
修复 Visual Studio 安装以修复启动工作安装的开始菜单项。
即便是安装了多个版本的 Visual Studio ,也只有一个 Visual Studio 开始菜单项可用
-
问题:
在 Visual Studio 2017 RC 中,可并行安装多个 SKU(例如社区版和企业版)。 在此情况下,开始菜单快捷方式将启动最近安装的产品 SKU。 类似地,卸载多个 SKU 中的任何一个后,可移除所有 SKU 的快捷图标。
-
解决方法:
可以通过从目标安装文件夹启动 devenv.exe 并查看产品安装的 Common7\IDE 子目录来启动 SKU。 否则,修复所需应用程序会更新开始菜单项。
无法在 Windows 7 上执行 Feedback Client
-
问题:
当运行请求的反馈时,由于缺少协议关联,在 Windows 7 上执行此操作可能会失败。
-
解决方法:
在受影响的计算机上使用 Feedback Client 手动更新 mfbclient:// 协议。 可以通过转到“默认程序”,选择 Feedback Client,选中“mfbclient”协议旁边的复选框,然后单击“保存”来执行此操作。
编辑器和 IDE 问题
无法向阿拉伯语(沙特阿拉伯)系统添加帐户
-
问题:
当尝试登录到安装在阿拉伯语操作系统上的 Visual Studio 时,会发生一个错误,导致无法完成登录。
-
解决方法:
- 确保已关闭 Visual Studio。
- 确保终止所有 ServiceHub.Host.Node.x86.exe 进程。
- 在以下路径中创建一个空文件:%localappdata%.identityservice\IdentityServiceAdalCache.cache
- 重新启动 Visual Studio。
保存依赖项验证关系图时不再触发分析
-
问题:
保存依赖项验证关系图时,不会重新触发分析,导致留下一系列久未解决的问题。
-
解决方法:
关闭解决方案,然后重新将其打开。 对于 RTW,此问题已修复。
XML 文件不支持 EditorConfig
-
问题:
编辑 XML 文件时,未应用 .editorconfig 中定义的编码样式约定。
-
解决方法:
目前没有解决方法。
尚不支持 EditorConfig insert_final_newline 属性和 trim_trailing_whitespace 属性
-
问题:
.editorconfig 文件中定义的 insert_final_newline 属性和 trim_trailing_whitespace 属性不起作用。
-
解决方法:
目前没有解决方法。
“跳行”可能导致 Visual Studio 在未打开任何文件的情况下停止响应
-
问题:
如果启动 GoTo 窗口,然后在未打开任何文件的情况下选中行号筛选器,Visual Studio 将停止响应且所有未保存的工作将丢失。
-
解决方法:
确保先打开一个文档,然后再尝试导航到特定行号。
无法生成新的网站项目
-
问题:
当在安装了 PowerShell 2.0 的计算机上创建新网站项目并生成它时,会看到一个错误:“找不到路径 website\bin\roslyn\csc.exe 的部分”。
-
解决方法:
从 PowerShell 2.0 升级到 3.0 或更高版本。
如果在安装时使用 Git Bash shell,Visual Studio 安装可能会失败
-
问题:
如果在安装 Visual Studio 2017 RC 时使用 Git Bash shell,Visual Studio 安装可能会失败。
-
解决方法:
若要解决此问题,请确保安装期间未运行 Git Bash shell。
如果未打开 Blend,则“在 Blend 中设计”不会打开
-
问题:
如果已在 VS 中打开一个解决方案,当右键单击 UWP 项目或 XAML 文件时,并选择“在 Blend 中设计...”,Blend 将不会启动。
-
解决方法:
首先打开 Blend,然后右键单击并选择“在 Blend 中设计...”,项目会在 Blend 中打开。
CSharp 和 VB IntelliSense 完成列表故障
-
问题:
在某些情况下,CSharp 和 Visual Basic IntelliSense 完成列表可能会停止工作,直到关闭并重新打开受影响的文件或项目为止。
-
解决方法:
此故障的可能补救措施包括:
- 禁用完成筛选功能:转到“工具”>“选项”>“文本编辑器”>“[C# | Basic]”>“IntelliSense”,并取消选中“显示完成项筛选器”。
- 关闭硬件图形加速功能:转到“工具”>“选项”>“环境”>“常规”,并取消选中以下选项:“根据客户端性能自动调整视觉体验”、“启用丰富客户端视觉体验”和“使用硬件图形加速(如果可用)”。
无法从 devenv.exe 进程外部创建 EnvDTE
-
问题:
如果具有通过 COM 自动化自动执行 Visual Studio 环境的工具或脚本,则该脚本或工具无法继续使用
Acivator.CreateInstance()
或CoCreateInstance()
来启动 devenv.exe 进程。 已弃用此支持,以便可同时安装同一版本的多个 devenv.exe。 -
解决方法:
需要更新脚本和工具以使用所需的精确路径启动特定应用程序,然后从运行对象表中获取 EnvDTE 对象。
NuGet 问题
在启用轻量级解决方案加载的情况下,生成不再触发还原
-
问题:
如果启用轻量级解决方案加载,生成将不再触发还原。
-
解决方法:
必须在生成前显式启动还原。
对项目运行“dotnet 包”,收到包含 PackageReferences 结果的重复导入警告
-
问题:
.NET Core 项目 - 对项目运行“dotnet 包”,收到包含 PackageReferences 结果的重复导入警告 NuGet#3665。
-
解决方法:
无。
csproj(以前称为导入)中的 PackageTargetFallback 属性不剪裁空格,导致还原失败
-
问题:
.NET Core 项目 - csproj(前身为 imports)中的 PackageTargetFallback 属性不会修整从 msbuild 属性收到的空白。 在值的开头和末尾放置一个分号,可确保还原仍将起作用,即使将 xml 元素的格式重新设置为跨 3 个行也是如此。 NuGet#3819。
-
解决方法:
确保 TFM 条目左侧或右侧无空格。
测试工具问题
分析代码覆盖率对 Python 测试不可用
-
问题:
从测试窗口中的 Python 项目右键单击一个测试时,无法选择“分析代码覆盖率”。
-
解决方法:
目前没有解决方法。
调试 C++ UWP 单元测试不会命中断点
-
问题:
调试不会命中 C++ UWP 单元测试上设置的断点。
-
解决方法:
使用“全部调试”来调试测试。
使用 .testsettings 文件从命令行运行测试
-
问题:
使用 .testsettings 文件进行的测试无法使用 vstest.console.exe 命令运行。
-
解决方法:
从命令行运行测试前至少启动一次 Visual Studio。
发现目标为 .NET Core 的测试
-
问题:
从代码编辑器上下文菜单启动 Run/Debug 命令时,不会发现目标为 .NET Core 的基于 MSTest 的测试。
-
解决方法:
升级对 MSTest.TestAdapter NuGet 包的引用。
在具有多个目标框架的解决方案中发现测试
-
问题:
对于具有多个目标框架的解决方案,所发现的测试的计数不正确。
-
解决方法:
无解决方法。 无功能性影响。 将发现并正确运行测试。
Visual Studio 2015 的 UWP 测试项目会引发编译时错误
-
问题:
在 Visual Studio 2015 中创建的 UWP 测试项目会引发编译时错误。
-
解决方法:
将项目参数 $(UnitTestPlatformVersion) 编辑为 15.0。
为适用于 UWP 应用的编码的 UI 测试生成代码可能会导致错误
-
问题:
使用适用于 UWP 应用的“编码的 UI 测试”生成器生成代码时,可能无法正常工作,可能会遇到“系统找不到指定文件”的错误。
-
解决方法:
解决方法是修改 Visual Studio 2017 RC 安装并包括“.NET 桌面开发”工作负荷。
启用轻量级解决方案加载时“测试资源管理器”中的测试发现
-
问题:
如果启用了轻量级解决方案加载,则当 Visual Studio 的一个全新实例中存在一个打开的测试项目时,测试资源管理器不会发现测试。
-
解决方法:
关闭解决方案,然后将其重新打开,将开始发现测试。
在 Visual Studio 2015 中创建的使用 IntelliTest 的测试项目不执行生成操作
-
问题:
在 Visual Studio 2015 中创建的使用 IntelliTest 的测试项目不执行生成操作。
-
解决方法:
打开测试项目的 .csproj 文件,并将 Microsoft.Pex.Framework.dll 的 hintpath 更改为 VSInstallPath\Common7\IDE\Extensions\Microsoft\Pex\Microsoft.Pex.Framework.dll。
在 Visual Studio 2015 中创建的 C++ 测试项目不执行生成操作
-
问题:
在 Visual Studio 2015 中创建的 C++ 测试项目不执行生成操作。
-
解决方法:
打开测试项目的 .vcxproj 文件,并将包含单元测试标头文件的文件夹包括到 <AdditionalIncludeDirectories> 中。
对于以 x64 为平台目标的测试项目,不会发现顺序测试和一般测试
-
问题:
对于以 x64 为平台目标的测试项目,不会发现顺序测试和一般测试。
-
解决方法:
目前没有解决方法。
在基于云的负载测试期间使用 Application Insights 收集应性能数据
-
问题:
将 Application Insights 配置为在基于云的负载测试期间收集应用性能数据后,可能会收到一个或多个错误。 对预配置的应用程序执行现有的基于云的负载测试时,将不会收集任何应用性能数据。
-
解决方法:
目前没有解决方法。 可使用 Azure 门户监视应用。
在 Windows 7 计算机上执行编码的 UI 测试失败
-
问题:
在 Windows 7 计算机上执行编码的 UI 测试失败,并显示错误“未能初始化单元测试扩展 ‘urn: CodedUITest’: 一个单元测试扩展未注册以下属性: Microsoft.VisualStudio.TestTools.UITesting.CodedUITestAttribute”。
-
解决方法:
编辑注册表并创建以下条目:
- 添加注册表项 [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\VisualStudio\15.0\EnterpriseTools\QualityTools\TestTypes{13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b}\TestTypeExtensions\CodedUITestAttribute]。
- 向此项添加一个名为 AttributeProvider 且值为 Microsoft.VisualStudio.TestTools.UITesting.CodedUITestAttribute, Microsoft.VisualStudio.QualityTools.CodedUITestFramework, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 的字符串值。
不能在同一台计算机上并行安装 Test Controller/测试代理 2017 预览版和 Visual Studio 2017 RC
-
问题:
不能在同一台计算机上并行安装 Test Controller/测试代理 2017 预览版和 Visual Studio 2017 RC。 这样做可能会导致 Visual Studio 安装无法进行。
-
解决方法:
Test Controller/测试代理 2017 预览版应安装在单独的计算机上。
通用 Windows 应用开发工具问题
调试 .NET Native 应用程序时可能需要网络访问
-
问题:
当调试 .NET Native 应用程序时,可能需要从需进行网络访问的符号服务器下载调试支持库。 如果没有网络访问,可能无法正常进行调试。
-
解决方法:
在具有网络访问的计算机中(在脱机之前)调试 .NET Native 应用程序至少一次。 这将确保将必要的调试库填充到符号缓存中,并在计算机脱机时可用于调试。
生成空白 .NET 通用 Windows 应用时生成警告
-
问题:
当生成空白 .NET 通用 Windows 应用项目时,可能会在生成日志中看到不必要的警告。 可忽略该警告,这不会对应用程序造成影响。
-
解决方法:
目前没有已知解决方法。
实时单元测试问题
如果解决方案包含 VB 或 CSharp 以外的项目时,活动单元测试不起作用
-
问题:
如果解决方案包含不是 VB 或 CSharp 的项目,则实时单元测试可能不起作用。
-
解决方法:
目前没有解决方法。
实时单元测试不适用于 .NET Core 项目
-
问题:
.NET Core 项目不支持实时单元测试。
-
解决方法:
目前没有解决方法。
实时单元测试不支持所有单元测试功能
-
问题:
使用理论等功能或特殊的自定义属性或需要特殊设置来执行的单元测试可能无法使用实时单元测试。
-
解决方法:
目前没有解决方法。
实时单元测试不支持所有单元测试功能
-
问题:
可移植类库 (PCL) 不支持实时单元测试。
-
解决方法:
目前没有解决方法。
实时单元测试和测试资源管理器窗口集成问题
-
问题:
位于实时单元测试视图时,用户无法从测试资源管理器窗口调试或运行测试。
-
解决方法:
目前没有解决方法。
实时单元测试不支持用于创建新 appdomain 的测试
-
问题:
测试创建新的 appdomain 将不适用于实时单元测试,LUT 可视化将不具有这些数据。 当进行会影响这些测试的编辑时,实时单元测试将不会运行这些测试。
-
解决方法:
目前没有解决方法。
重命名解决方案后,必须重启实时单元测试
-
问题:
重命名解决方案会导致实时单位测试进入不一致状态。
-
解决方法:
目前,对于同一实时单位测试会话,没有解决方法。 重启单元测试可解决此问题。
轻量级解决方案加载问题
启用轻量级解决方案加载后,某些扩展可能会发生意外行为
-
问题:
启用轻量级解决方案加载后,某些扩展可能会发生意外行为。
-
解决方法:
目前没有解决方法。
生成时,不会还原 NuGet 包
-
问题:
生成解决方案时,不会自动还原 NuGet 包。
-
解决方法:
可从“解决方案”节点上下文菜单或命令行还原包。
如果磁盘上不存在项目文件,将跳过生成
-
问题:
生成解决方案时,不会生成不由磁盘上 MSBuild 项目文件(例如网站)备份的项目。
-
解决方法:
禁用轻量级解决方案加载。
如果项目依赖项更改,可能会跳过 C++ 项目生成
-
问题:
解决方案生成可能会跳过已生成的 C++ 项目,即使因依赖项更改而需要生成此项目,也是如此。
-
解决方法:
重新生成项目或整个解决方案。
对于已加载的解决方案,出现“正在加载...”指示器
-
问题:
即使在解决方案加载完毕后,依然可能看到解决方案资源管理器中该解决方案名称旁的“正在加载...”指示器。
-
解决方法:
忽略“正在加载...”指示器。
Visual Basic 项目中的虚假错误
-
问题:
如果在轻量级解决方案加载中打开 Visual Basic 文件,可能会发现 IDE 报告虚假错误,就像缺少了引用一样。
-
解决方法:
禁用轻量级解决方案加载。
Web 开发工具问题
不支持 MVC 4 项目
-
问题:
使用 Visual Studio 2017 RC 提示打开 MVC 4 项目以安装缺少的功能 - .NET 桌面开发,但无法成功执行操作。 即使在安装缺少的功能后,项目也不会加载到解决方案资源管理器中,并显示为不兼容。
-
解决方法:
没有解决方法,将来会添加相应支持。
新的 ASP.NET 单页面应用程序在运行时遇到错误
-
问题:
创建新的 ASP.NET 单页面应用程序后,当尝试调试应用程序时,会在浏览器中遇到以下错误。 未能加载文件或程序集“Microsoft.AI.Web”或它的某一个依赖项。 系统找不到指定的文件。
-
解决方法:
该问题是由于无法正确将包引用添加到项目文件(.csproj 文件)所致。 要解决此问题,请在文本编辑器中打开 .csproj 文件,并手动添加包引用:
<Reference Include="Microsoft.ApplicationInsights">
<HintPath>..\packages\Microsoft.ApplicationInsights.2.1.0\lib\net45\Microsoft.ApplicationInsights.dll</HintPath>
</Reference>
<Reference Include="Microsoft.AI.Agent.Intercept">
<HintPath>..\packages\Microsoft.ApplicationInsights.Agent.Intercept.1.2.1\lib\net45\Microsoft.AI.Agent.Intercept.dll</HintPath>
</Reference>
<Reference Include="Microsoft.AI.DependencyCollector">
<HintPath>..\packages\Microsoft.ApplicationInsights.DependencyCollector.2.1.0\lib\net45\Microsoft.AI.DependencyCollector.dll</HintPath>
</Reference>
<Reference Include="Microsoft.AI.PerfCounterCollector">
<HintPath>..\packages\Microsoft.ApplicationInsights.PerfCounterCollector.2.1.0\lib\net45\Microsoft.AI.PerfCounterCollector.dll</HintPath>
</Reference>
<Reference Include="Microsoft.AI.ServerTelemetryChannel">
<HintPath>..\packages\Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.2.1.0\lib\net45\Microsoft.AI.ServerTelemetryChannel.dll</HintPath>
</Reference>
<Reference Include="Microsoft.AI.WindowsServer">
<HintPath>..\packages\Microsoft.ApplicationInsights.WindowsServer.2.1.0\lib\net45\Microsoft.AI.WindowsServer.dll</HintPath>
</Reference>
<Reference Include="Microsoft.AI.Web">
<HintPath>..\packages\Microsoft.ApplicationInsights.Web.2.1.0\lib\net45\Microsoft.AI.Web.dll</HintPath>
</Reference>
在 VB ASP.NET 项目中收到有关“对象初始化可进行简化”的消息
-
问题:
在创建 VB ASP.NET 项目(例如:Web 窗体或 MVC 5)后,生成项目后会在错误列表中看到以下消息:
消息 IDE0017 对象初始化可进行简化 RouteConfig.vb
-
解决方法:
无,现在可安全忽略该消息。
对于 OData v3,MVC5 基架搭建失败
-
问题:
尝试使用实体框架通过“操作”对 Odata v3 控制器搭建基架失败,并收到错误,指示找不到文件“\Common7\IDE\EnvDTE”。
-
解决方法:
-
编辑以下文件:
- 对于 C# 项目:“VSInstallDir\Common7\IDE\Extensions\Microsoft\Web\Mvc\Scaffolding\Templates\ODataControllerWithContext\Controller.cs.t4”
- 对于 VB 项目:“VSInstallDir\Common7\IDE\Extensions\Microsoft\Web\Mvc\Scaffolding\Templates\ODataControllerWithContext\Controller.vb.t4”
删除行
<#@ assembly name="EnvDTE" #>
-
然后保存文件。
-
无法还原 Bower 包
-
问题:
无法还原 Bower 包。
-
解决方法:
- 打开工具 | 选项。
- 在左侧窗格的“选项对话框”中,选择“项目和解决方案”|“外部 Web 工具”。
- 将以下路径添加到“外部工具位置”列表:"$(DevEnvDir) \CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\mingw32\bin"。
- 单击“确定”。
.NET Core 工具问题
在多个方案中,迁移中断
-
问题:
从基于 project.json 的项目进行的迁移具有多个问题,且大多数情况下会中断。
-
解决方法:
手动编辑转换的 csproj 文件,以解决问题。
“打开文件夹”问题
编辑 launch.json 或 tasks.json 时 IntelliSense 不可用
-
问题:
编辑 launch.json 或 tasks.json 文件时,IntelliSense 不可用。
-
解决方法:
安装 Web 工具工作负荷。
C# 重构可能会生成不一致的结果
-
问题:
在“打开文件夹”模式下,重构 C# 或 VB 代码可能会生成不一致的结果。
-
解决方法:
在解决方案模式下加载 C# 或 VB 项目。
从文件夹转换为解决方案可能会导致空白解决方案资源管理器
-
问题:
当从文件夹视图打开一个与文件夹名匹配(例如 MySolution/MySolution.sln)的解决方案时,解决方案资源管理器可能会保持为空白状态。
-
解决方法:
关闭文件夹,然后通过“解决方案”->“打开”->“项目”/“解决方案”,打开解决方案。
扩展性问题
Visual Studio 关闭延迟
-
问题:
关闭 Visual Studio 后,可能会有一些不会立即结束的残留的进程。 这些进程在 Visual Studio 关闭后会继续运行约 30 秒。 等待 Visual Studio 关闭的任何操作也需要等待残留的进程结束。
-
解决方法:
如果尝试完成安装扩展等需要等待与 Visual Studio 相关的所有进程结束的操作,但又不想等待残留的进程结束,则可以转到“任务管理器”->“更多详细信息”->“详细信息”,按 PID 查找这些进程,然后结束这些进程。
扩展无法自动更新
-
问题:
扩展无法自动更新。
-
解决方法:
目前没有解决方法。
当对使用“提升”安装的扩展执行“停用更新”操作时,VSIX 安装程序无响应
-
问题:
如果扩展未标记为“所有用户”,但是使用“提升”安装的,则在不进行提升的情况下尝试更新该扩展将导致 VSIX 安装程序无响应。
-
解决方法:
运行
VSIXInstaller /uninstall:<vsixid>
两次可成功删除该扩展。 然后可安装该扩展的更新版本。
在安装到实验实例期间,包含空格的文件路径解析不正确
-
问题:
在安装到实验实例期间,包含空格的任何文件路径中的空格将替换为 20%。
-
解决方法:
如果要引用 Microsoft.VSSDK.BuildTools NuGet 包,需要将其更新到最新版本。 如果不引用,将需要添加该引用:
- 右键单击解决方案,然后选择“管理解决方案的 Nuget 包…”
- 搜索 Microsoft.VSSDK.BuildTools 并安装
其他
XSLT 探查器支持不可用
-
问题:
RC 不提供 XSLT 分析支持。
-
解决方法:
目前没有解决方法。
SQL Server Data Tools 中不支持“轻量级解决方案”
-
问题:
SQL Server Data Tools 中不支持“轻量级解决方案加载”选项。
-
解决方法:
通过“工具”->“选项”->“项目和解决方案”,禁用“轻量级解决方案加载”选项。
将自动化与测试用例关联
-
问题:
默认情况下,Visual Studio IDE 中的测试用例工作项表单在 Web 视图中打开。 因此,用户无法将自动化分配给测试用例。 即是,使用测试用例工作项的 Web 视图将测试方法关联到测试用例。
-
解决方法:
可在 Visual Studio 的兼容性模式下打开测试用例工作项,使用“关联自动化”选项卡继续将测试方法关联到测试用例。 具体方法为: 转到“工具”>“选项”>“工作项”。 将“工作项打开位置”设置更改为“Visual Studio”(兼容模式)。
将 Python发布到 Azure App Service 可能会失败
-
问题:
从 Python 项目发布到 Azure App Service 可能会失败,或导致 Visual Studio 冻结。
-
解决方法:
请访问 https://aka.ms/PythonOnAppService 获取备选方法。
在 Visual Studio 运行时安装 Python
-
问题:
如果在 Visual Studio 处于打开状态时安装 Python,Visual Studio 可能无法正确识别新安装的 Python。
-
解决方法:
安装 Python 之前请先关闭 Visual Studio。
使用计算仿真程序调试 Azure 云服务
-
问题:
Azure 计算仿真程序速成版需要 C 运行时 11 版,但此版本不再随 Visual Studio 一起安装。
-
解决方法:
如果选择使用 F5 运行仿真程序,Visual Studio 会检测到未安装运行时,并询问是否要安装。 如果选择安装,Visual Studio 将下载安装程序并进行安装。 然后可使用 F5 重启调试会话。
尚不支持使用云服务部署 RemoteDebugger 和 IntelliTrace
-
问题:
Visual Studio 2017 RC 中尚不支持使用云服务部署 RemoteDebugger 和 IntelliTrace。 在 Visual Studio 2017 结束之前,将提供此支持。
-
解决方法:
目前没有解决方法。
在某些 Windows 7 SP1 计算机上,“Microsoft.VisualCpp.Redist.14”的安装可能需要花费数小时来完成
-
问题:
在具有 Windows 7 SP1 的未修补的计算机上,安装 Windows 更新包时,可能会出现明显的挂起现象。 在 Microsoft.VisualCpp.Redist.14 中,这是专用的 KB2999226,用于在计算机上安装 Windows 通用 CRT 运行时。 请注意,安装最终会完成,但可能会花费数小时的时间。
-
解决方法:
? 解决方法是先安装 https://support.microsoft.com/en-us/kb/3172605,其中包括 OS 修补程序,然后再安装 Visual Studio 2017 RC。 ? 还可能通过在 Visual Studio 安装期间禁用自动更新来解决此问题。
安装 Test Professional 2017 RC SKU 后,用户无法在 Visual Studio IDE shell 中访问团队资源管理器
-
问题:
安装 Test Professional 2017 RC SKU 包之后,如果尝试在 Visual Studio IDE 中访问团队资源管理器,IDE shell 可能会关闭并收到内容为许可证过期的错误,或显示错误的版本信息。 由于此问题,可能无法访问任何基于 Excel 或基于 SSRS 的测试报告,这些报告用于测试需求,并显示在团队资源管理器中。 此问题不会影响到 Microsoft 测试管理器 (MTM) 客户端 – 它将继续工作,不会产生任何已知问题。
-
解决方法:
我们正在努力解决此问题,但在此期间,如果需要访问团队资源管理器和/或基于 Excel 或基于 SSRS 的报告,可安装“Visual Studio Professional 2017 RC”或“Visual Studio Enterprise 2017 RC”包,并通过它来访问团队资源管理器。
为某些 KOR SKU 提供的 EULA 不正确
-
问题:
安装期间为以下 SKU 的朝鲜语版本的用户提供的 EULA 不正确: ? Visual Studio 2017 性能工具 RC SKU ? Visual Studio 2017 远程工具 RC SKU ? Visual Studio 2017 IntelliTrace 收集器 RC SKU ? Visual Studio 2017 VC++ Redist RC SKU
-
解决方法:
这些 SKU 的朝鲜语版本的正确 EULA 可通过访问后列网址获取:https://go.microsoft.com/fwlink/?LinkId=829617&clcid=0x412。
引导程序中显示的繁体中文 SKU 的 EULA 不正确
-
问题:
安装期间针对以下繁体中文 SKU 的用户错误地显示了简体中文 EULA: ? Visual Studio 2017 Enterprise RC SKU ? Visual Studio 2017 Professional RC SKU ? Visual Studio 2017 Community RC SKU
NOTE: This only affects the license terms link in the first UI screen (bootstrapper) seen when installing VS.
-
解决方法:
可在以下网址获取这些 SKU 的正确 EULA:https://www.visualstudio.com/zh-hant/license-terms/mlt551018。
在与 C 中元组共享的项目/链接的文件中,Visual Studio 停止响应
-
问题:
如果键入对一个方法的方法调用,且该方法采用多个项目(链接的文件或共享的项目)中包含的一个文件中的一个 Tuple 参数,则 Visual Studio 会停止响应。
-
解决方法:
在“工具”\“选项”\“文本编辑器”\C# 中取消选中“参数信息”,或不使用共享文件中的元组。
无法生成包含工作流的 SharePoint Visual Basic 项目
-
问题:
具有工作流的 SharePoint Visual Basic 项目可能无法生成,并收到以下错误:“ExpressionTranslationBuildTask”任务意外失败。
-
解决方法:
目前没有解决方法。
无法将服务功能(以前称为“连接的服务”)添加到 VB 项目中
-
问题:
处理 VB 项目时,无任何可将服务功能(在 C# 中的类似项目类型中可能会发现的那种服务功能)配置到项目中的可用命令。 这是由 RC 中的一个 Bug 所致,将在下一个版本或预发布版本中修复此问题。
-
解决方法:
应可使用以下解决方法之一:
- 使用 Visual Studio 2015 和“添加连接的服务...”命令。
- 将相似类型的 C# 项目创建到 VB 项目。 将解决方案添加到(本地)git 源代码管理。 配置服务功能。 使用团队资源管理器查看对存储库所做的更改,并将等效更改应用于 VB 项目。
无法使用 RUS 语言包安装添加服务功能(以前称为“连接的服务”)
-
问题:
当尝试使用 Visual Studio 2017 RC 中处于活动状态的俄语语言包在项目中配置服务功能时,最后一个按钮将无法配置服务。
-
解决方法:
- 从 Visual Studio 安装程序安装另一个 SKU(例如 Community),并选择另一种语言(例如英语)。
- 使用备用的 Visual Studio 2017 RC SKU 打开该项目并配置服务功能。
- 切换回 RUS Visual Studio 以继续工作。
在某些情况下可能无法刷新用于 Git 的 CodeLens 团队指示器
-
问题:
当在 Visual Studio 中加载来自 Git 存储库的文件时,可能不会自动刷新 CodeLens 团队指示器。 在这种情况下,还会显示一个错误对话框,其中显示消息“遇到异常。 可能是由扩展引起的。”
-
解决方法:
通过选择任何指示器上的上下文菜单刷新 CodeLens 团队指示器。
准备首次在本地化版本上使用 Visual Studio 时,Visual Studio 卡住
-
问题:
在某些情况下,首次在非英语区域设置中启动 Visual Studio 时可能出现卡住的情况,并收到“正在为首次使用作准备”的消息。
-
解决方法:
打开开发人员命令提示符,并使用以下命令禁用相应包的 NGen:
ngen uninstall %VSINSTALLDIR%Common7\IDE\PrivateAssemblies\stanpackage.dll ngen uninstall %VSINSTALLDIR%Common7\IDE\Microsoft.VisualStudio.Web.HTML.dll
Visual Studio 2017 RC 下载 最新版本的发行说明