Visual Studio 2017 for Mac 版本 7.0
开发人员社区 | 系统要求 | 兼容性 | 可分发代码 | Xamarin | 博客 | 维护
注意
如果正在从一个非英语的语言版本访问此页,并想要查看最新内容,请访问此“发行说明”页(英文版)。
提示
可在本页底部切换页面语言。 单击 地球图标搜索语言,或从可用语言列表中选择。
本文包含有关 Visual Studio 2017 for Mac(版本 7.0)最新发布的信息。
使用 Visual Studio 2017 for Mac,通过 Xamarin 和 .NET Core 生成移动应用、Web 应用和云应用,以及通过 Unity 生成游戏。
若要了解 Visual Studio 2017 for Mac 的详细信息,请参阅 Mac 系统要求和 Mac 平台目标及兼容性。
要详细了解其他相关下载,请参阅下载页。
我们做得怎么样?
我们期待你的宝贵意见和建议! 可通过 Visual Studio for Mac IDE 右上角的“报告问题”选项报告问题。 可在开发人员社区门户中跟踪自己的反馈。
发布日期:2017 年 6 月 2日 - Visual Studio for Mac 7.0.1.24
此版本修复了一些 bug 和内存泄漏问题。
Android SDK 管理器
- 已修复:SDK 许可证未正确包装。
- 已修复:“取消”按钮不会将标签更改回“安装更新”。
- 已修复:卸载最新版 SDK 工具后,所有 SDK 工具都会被卸载。
- 已修复:能够在更新过程中修改组件。
- 已修复:由于权限问题,无法使用独立安装程序下载的 SDK 工具。
- 已修复:无法安装先前删除的组件。
- 已修复:SDK 工具 25.2.5 无法安装。
其他问题
- 已修复:使用并排显示文档窗口还原文档的问题。
- 已修复:当前带 .NETStandard/new csproj 格式可移植库的上下文中不存在名称“InitializeComponent”。
- 已修复:Android 部署在发布模式下无法静默。
- 已修复:“快速修复”不执行任何操作。
- 已修复:无法在“编辑引用”对话框中移除引用。
- 已修复:将 iOS Forms PCL 应用上传到“测试云”时无法生成步骤,显示“未知 MSBuild 故障”。
- 已修复:无法检查 .Net core 应用程序中的变量。
- 已修复:所有文件中显示 F# 调试命令。
- 已修复:F# Xamarin 窗体模板不还原程序包。
- 已修复:调试 .NET Core 应用程序期间进行线程选择时调用堆栈消失。
- 已修复:按住 shift 键和向下键连续选择通过视区的文本。
- 已修复:还原程序包时 UI 锁定。
- 已修复:编辑器不呈现完整文本。
- 已修复:使用 Apple 事件打开文件时,解决方案加载之后文档打开的排序问题。
- 已修复:重命名文件以匹配文件中删除的类名称。
- 已修复:FooButton_Clicked 处理程序完成不生成方法存根。
- 已修复:分割屏幕会导致菜单项被禁用。
Visual Studio for Mac 中的新增功能
核心功能
Visual Studio for Mac 能够满足你对现代 IDE 的所有期望,包括功能完整的源代码编辑器、代码搜索和导航、功能强大的调试器、可自定义的工作区、Git 集成和丰富的扩展系统。
其他功能包括:
- 基于 Roslyn 的 C# IntelliSense、重构、分析器和代码修复。
- 基于 NuGet 的程序包管理。
- Visual Studio 兼容的项目格式。
- MSBuild 生成引擎。
- 集成单元测试。
- 对 F# 的支持。
.NET Core 支持
.NET Core 平台用于创建在可 Windows、Linux 和 Mac 上运行的应用程序。 Visual Studio for Mac 提供对加载、创建、运行和调试 .NET Core 项目的支持。
若要运行 .NET Core 项目,应该下载和安装 .NET Core SDK。
.NET Core 支持包括:
- C# 和 F# IntelliSense。
- 控制台、库和 Web 应用程序的 .NET Core 项目模板。
- 完整的调试支持,包括断点、调用堆栈、监视窗口等。
- NuGet PackageReferences 和基于 MSBuild 的还原。
- 集成单元测试支持使用 .NET Core SDK 附带的 Visual Studio 测试平台进行运行和调试测试。
- 从旧的 project.json 格式迁移。
Web 工具
Visual Studio for Mac 添加了针对 HTML、CSS 和 JSON 文件的新的 Web 工具支持。
HTML
- 新的 HTML 模板。
- 改进的智能缩进和格式设置。
- 改进的着色处理功能。
- 改进的 Intellisense。
- 代码折叠(必须启用)。
- Unminify 命令。
- 改进的代码模板(片段)。
- 使用
<div>
环绕选定内容。 - 可以将选定文本向上/向下移动的向上/向下选项。
CSS
- 改进的智能缩进和格式设置。
- 改进的着色处理功能。
- 改进的 IntelliSense。
- 代码折叠。
- 多个代码模板(片段)。
- 可以将选定文本向上/向下移动的向上/向下选项。
JSON
- 有权访问 schemastore.org 的架构选择器。
- 从架构进行验证。
- 从架构进行 IntelliSense。
- 改进的智能缩进和格式设置。
- 改进的着色处理功能。
- 注释/取消注释。
- 引号注入和大括号匹配。
- 可以将选定文本向上/向下移动的向上/向下选项。
Xamarin
通过对 Xamarin 的卓越支持,可以开发适用于 Android、macOS、iOS、tvOS 和 watchOS 的丰富本机体验。 使用 Xamarin.Forms 跨平台应用程序可以在 Android、iOS 和 macOS 之间共享基于 XAML 的 UI 代码,而不会限制对本机功能的访问。
这包括:
- 构建、部署、调试和分析。
- 适用于 iOS 和 Android 的拖放式 UI 设计器。
- Xamarin.Forms 的实时预览。
- 兼容 .NET 标准的框架。
- 对本机 API 的绑定。
多平台应用模板
现在,使用多平台 Xamarin.Forms 应用和本机应用项目模板可以快速创建多平台移动应用及其云后端。
这些模板可以创建多个项目:通过共享的项目共享代码的 Xamarin.iOS 应用项目和 Xamarin.Android 应用项目,以及实现应用后端服务的 .NET Core Web API 项目(图 1)。

将 ASP.NET Core Web 应用发布到 Azure 应用服务
可以将 ASP.NET Core Web 应用发布到 Azure 应用服务(图 2)。

若要发布 Web 应用,请在“Solution Pad”或“项目”菜单中选择“发布|发布到 Azure”命令。 然后选择要部署到的应用服务,或者新建一个 Azure 应用服务(图 3)。 发布的输出将记录到“发布”输出板,并且将在项目中的“属性”>“PublishProfiles”下创建发布配置文件。

在项目中定义的所有发布配置文件都将显示为“发布”菜单中的选项,所以无需再次选择“应用服务”即可对其进行部署。
多进程调试
项目具有“项目运行配置”,可以指定运行项目的选项和参数。 在工具栏中的下拉列表中可以查看和更改当前活动的“运行配置”。
在 Visual Studio for Mac 的“解决方案运行配置”窗口中可以同时启动多个项目。 可以在“解决方案选项”对话框中创建解决方案运行配置。 调试移动应用与其后端服务的交互方式时,此功能非常有用。
TextMate 包
Visual Studio for Mac 支持 TextMate 语言包,可使用此语言包添加:
- 编辑器颜色主题。
- 代码片段。
- 新语言的语法,启用突出显示以及基本 IntelliSense。
可以在“首选项”>“文本编辑器”>“语言包”中添加 TextMate 包。
iOS
音频设备向导
新的音频设备扩展向导(图 4)增添了 3 个选项,可用于自定义音频设备项目模板的 plist。
- 音频设备类型
- 乐器
- Generator
- 效果
- 音乐效果
- 子类型代码:必须正好是 4 个字符。
- 制造商代码:必须正好是 4 个字符。

watchOS 扩展向导
在 Xcode 8.3 中,Apple 引入了 watchOS 扩展(与 iOS 扩展类似),第一个引入的是 Intents 扩展 (Siri)。
已更新 watchOS 扩展向导 (图 5) 以支持 watchOS 扩展,且现提供专用的 Intents 扩展模板。

其他改进和 Bug 修复
- 现可在自动完成窗口中处理
Deprecated
和Obsoleted
属性。 这使得过时的 Xamarin.iOS 和已弃用的 API 显示为删除线。 - 部署到设备时会显示进度栏。 此功能对 watchOS 非常有用。 (需要 Xamarin.iOS 10.5.0.323+)。
- 使用 Xamarin.iOS 中已知的 OS 版本来填充部署目标下拉列表。
这样操作有两个优点:我们可以提供每个应用扩展类型的准确最低版本,并且可以避免显示 OS 版本(基于 Xcode,Xamarin.iOS 尚不支持)。
Mac/iOS API 问题分析器
- 触发分析器时修复重复的标记。
- 从属性中获取“消息”(框架中解释为什么 API 已弃用/过时的信息),并将该信息附加到不同的可用性消息。
- 更新所有可用性消息,以提高清晰度。
- 通过在可用性消息中使用符号名称来提高清晰度,从:
API Usage Issue: this API requires iOS 10.0 or later
更改为:
'MyMethod' is only available on iOS 10.0 or newer
Android
- 新 SDK 管理器 - Visual Studio for Mac 自带 Android SDK 管理器(图 6)。

现在是通过
/t:Install
msbuild 目标将项目部署到设备或仿真程序。 以前,Visual Studio for Mac 使用自己的内部逻辑将应用程序部署到设备,现在则使用可从终端利用或在 Windows Visual Studio 中使用的相同公用目标。 这样做的好处之一是现在有更好的日志可用于诊断部署问题。新绑定项目的默认值现为
class-parse
。 它可以直接分析 Java 字节码而不需要 JVM。 现可从包含调试符号的 Java 字节码提取参数名称。 例如,使用 javac g 编译的字节码。class-parse
也不会“跳过”从无法解析的类型继承或者包含无法解析的类型的类。
可访问性
此 Visual Studio for Mac 版本包含对 Voice Over 等辅助技术的支持。 通过这些技术,可访问用户界面的许多部分,例如编辑器和解决方案资源管理器。 但是,此功能仍在开发中,将在未来版本中实现进一步改进。 辅助功能可通过“辅助功能”首选项或通过输入以下命令行启用:
defaults write com.microsoft.visual-studio com.monodevelop.AccessibilityEnabled 1