Visual Studio for Mac 版本 7.5 发行说明
开发人员社区 | 系统要求 | 兼容性 | 可分发代码 | Xamarin | 博客 | 维护 |
使用 Visual Studio for Mac,可通过 Xamarin 和 .NET Core 生成移动应用、Web 应用和云应用,并能通过 Unity 生成游戏。
下载最新版 Visual Studio for Mac
若要详细了解 Visual Studio for Mac,请参阅 Mac 系统要求和 Mac 平台目标和兼容性。
要详细了解其他相关下载,请参阅下载页。
我们做得怎么样?
我们期待你的宝贵意见和建议! 可通过 Visual Studio for Mac IDE 中的报告问题选项来报告问题,并在开发人员社区门户中跟踪反馈。
已知问题
请参阅已知问题部分。
发布历史记录
- 2018 年 7 月 23 日 – Visual Studio for Mac 版本 7.5.4
- 2018 年 6 月 19 日 - Visual Studio for Mac 版本 7.5.3
- 2018 年 5 月 30 日 - Visual Studio for Mac 版本 7.5.2
- 2018 年 5 月 15 日 - Visual Studio for Mac 版本 7.5.1
- 2018 年 5 月 7 日 - Visual Studio for Mac 版本 7.5 - 阅读博客文章
版本主要变化
- 我们不断改进了 Visual Studio for Mac 中的性能和稳定性。
- 已添加了对 .editorconfig 文件的支持。
- 我们添加了对 Razor、JavaScript 和 TypeScript 的新编辑器支持。
- 我们添加了对最新版 .NET Core 和 C# 的支持,同时还有对 .NET Core 2.1 预览版和 C# 版本 7.2 的支持。
- 现在,Xamarin.Forms 开发者可以更轻松地使用 .NET Standard 生成应用。
- 包括对 Xcode 9.3 的支持。
- 我们添加了新的 Android 设备管理器。
- 改进了 Azure Functions 开发。 我们引入了新的 Azure Functions 模板,在使用 Azure Functions 时,现在具有对 NET Core Preview SDK 的支持。
Visual Studio for Mac 版本 7.5 (7.5.0.1254)
发布时间:2018 年 5 月 7 日
此版本中已修复的主要问题
- 现在使用 .NET 4.7.1 框架新建项目。
- 我们修复了造成 VS 2017 for Mac 退出时崩溃的问题。
- 我们修复了与编辑器有关的大量问题。
版本详细信息
安装和设置
- 升级后可使用本机联网 API,提高下载成功率和速率,并且可使用代理。
- 改进了修复 Android 家庭许可的工作流程。
- 改善了可访问性,提高了对比度并优化了 VoiceOver 导航。
- 修复了下载速度和进度未反映准确状态的问题。
- 修复了即便安装了 Android 组件,也不会显示该组件的问题。
- 修复了安装 Android SDK 后,首选项设置中缺少 Android SDK 位置的问题。
性能
我们将继续努力提高 IDE 中的性能和稳定性。 此版本着重于缩短 IDE 启动时间,部分用户缩短了将近一半的启动时间。
我们还将修复当用户进入开发人员社区网站时遇到最多的几个问题以及崩溃问题 - 请留意即将到来的反馈!
此版本中的性能修复包括:
- 在整个面板中启用了并发执行分析器,实现更快速地诊断波形曲线报告。
- 通过延迟共享模板引擎加载改进了 IDE 启动计时。 这修复了问题 #3492。
- 在 libxammac-system.a 内以静态的方式链接,而不是使用 dylib,从而提高启动性能。
源代码编辑器
我们继续改进了 C# 源编辑器。 这包括:
- 我们切换了代码修复、重构和编译器错误后端,以便使用 Roslyn 引擎。 这可以缩短弹出“快速修复”菜单所需的时间,并改善键入时的效果。
- “生成重写函数”选项现按预期方式工作。
- 修复了启用行突出显示后,字符“不可见”,关闭突出显示后,字符难以看清楚的问题。
- 修复了特定语言(包括中文和日语)用户在提交当前预编辑缓冲区前单击当前行以外会导致该行意外地取消缩进的问题。
- 修复了多行注释分类未正常工作。
- 改进了文本编辑器中搜索突出显示的可见性。
- 修复了从当前文档外进行切换时的“快速信息”窗口的问题。
- 修复了 #if 预处理器指令的 IntelliSense 问题。
- 修复了 Monokai 主题中的枚举语法着色错误的问题。
- 修复了 F# 未使用代码荧光笔中的崩溃。
- 修复了重复注释/取消注释操作后,文本标记将代码灰显的问题。
- 我们修复了光标位置因栏具有项目名称、打开的文件名和 Visual Studio IDE 类型而移动的问题。
- 修复了共享项目中的 IntelliSense 似乎已被破坏的问题。
- 修复了查找引用在某些类中停止运行的问题。
- 全局搜索现通过编辑器中的选定文本初始化。
- 固定的 Monokai 颜色主题。
- 现在可以配置文档切换器的快速方式。
- 如果安装使用 package.config 文件的 NuGet 包,生成的 C# 文件中的类型现可用于类型系统。
- 修复了未打开任何文档或板时的文档切换器。
- 我们现在对“错误”和“任务”板快捷菜单使用跨平台菜单。
项目系统
- 更新了模板化引擎,以修复创建项目时,文件名中“@”字符编码不正确的问题。
- 使用新模板创建引擎支持在模板说明中添加新行。
- 允许从项目模板向导中配置以下选项:
- gitignore
- 创建项目目录
- 修复了保存包含文件通配符的项目的问题,如下所示,对于通配符包括的每个文件,使用 MSBuild 项元数据的链接会导致通配符被删除并替换为 MSBuild 项。
<Compile Include="**\*.cs" Exclude="obj\**"> <Link>%(RecursiveDir)%(Filename).cs</Link> </Compile>
- 修复了添加或删除 NuGet 引用时不会保存项目引用的问题。 当在其中使用 NuGet 包创建新项目(尤其是 Xamarin.Forms 项目时),这会显示为不可预知的生成错误。
- 我们修复了重写 glob 时出现的问题。
- 我们修复了包含使用通配符的文件的项目将在保存后展开(和删除)的问题。
- 我们修复了导致不正确的 Android 目标框架版本存储在 project.assets.json 中的问题。 如果 Android 项目使用 PackageReferences 且目标框架更改为“使用最新”,可能会导致错误的 MonoAndroid 版本保存在 project.assets.json 文件中 。 这可能会导致还原后生成失败,同时出现指示未引用 MonoAndroid 版本的错误。
- 我们修复了以下问题:打开 NetStandard 库的解决方案会在 Ide.Log 中引发 System.ArgumentNullException。
- 修复了打开解决方案,不会正确重新打开最后一个打开的文件的问题。
NuGet
- 我们修复了以下问题:用户被阻止展开 SDK 和 NuGet 包依赖项和查看子依赖项。
- 更改目标框架后,PackageReference 项会立即还原。
Azure Functions
Azure Functions 现已集成到 Visual Studio for Mac 中。 我们现在拥有“新建函数”模板对话框(图 1),以及对用于 Azure Functions 的 .NET Core Preview SDK 的支持。

函数模板使用户可以使用最常见的触发器和模板快速创建新函数。 创建新的 Azure Functions 项目后,它将包含 HttpTrigger 函数。
可以通过创建新的 Azure Functions 项目,右键单击项目然后选择“添加”>“添加函数...”菜单。
.editorconfig
可以向项目或基本代码添加 .editorconfig 文件,强制对使用该基本代码的所有人实施一致的编码样式。 这些设置优先于全局 Visual Studio 文本编辑器设置。 这意味着,可以调整每种基本代码,以使用特定于该项目的文本编辑器设置。
Web 开发
对 Razor、JavaScript 和 TypeScript 的编辑器支持是我们听到的最多的开发人员请求中的一部分。 在此版本中,我们正为这些语言引入新编辑器。
Razor
凭借 Razor 的官方支持,现在可以拥有语法突出显示和 IntelliSense 功能,同时可以 .cshtml 文件中编辑 C#(图 2):

JavaScript 和 TypeScript
已重新编写 JavaScript 编辑器,现在提供核心编辑器体验,包括更智能的着色、IntelliSense 和大括号补全功能。
此外,还添加了对 TypeScript 编辑的支持(图 3),提供与 JavaScript 相同的着色、IntelliSense 和编辑器体验。

.NET Core
Visual Studio for Mac 版本 7.5 将是支持 .NET Core 2.1 Preview SDK 的首个正式版本。 可在公告博客文章中阅读有关 .NET Core 2.1 Preview 版本的全部内容。
一些主要的改进包括:更快地生成性能,缩小了 ASP.NET Core 和 EF Core 的差距,提高了与.NET Framework、GDPR 和安全性、微服务和 Azure 的兼容性。 在此版本中,我们还添加了对 C# 7.2 的支持。
- Visual Studio for Mac 不再安装 dev-tools 工具,因为现在从 Preview 2 开始,该工具包含在 .NET Core 2.1 SDK 中。
- 我们修复了如果已安装 .NET Core 2.1 Preview 2 SDK,运行或调试 ASP.NET Core 2.1 时,导致浏览器无法打开的问题。 ASP.NET Core 2.1 preview 2 项目模板在 launchSettings.json 文件的
applicationUrl
属性中定义多个 URL。 Visual Studio for Mac 未处理此操作,从而阻止浏览器打开。 - 现在,如果已打开 .NET Core 2.1 项目但未安装 SDK,系统将提示你安装 .NET Core 2.1 SDK。
- 在“首选项”中,现在具有“项目”>“SDK 位置”>“.NET Core”分区(图 4),可用来配置 .NET Core 命令行工具 (dotnet) 的位置。 这可以用于指向 .NET Core SDK 的不同非标准安装位置。

- 如果已安装 .NET Core SDK 2.1 预览版,“新建项目”对话框中将提供适用于 .NET Core 2.1 的项目模板。
- 提高了 .NET Core 包含成千上万文件时的项目加载性能。
- 修复了 TargetFramework 短名称在保存后更改的问题。 将文件添加到面向 Tizen 4.0 的 .NET Core 项目会导致 TargetFramework 从
tizen40
更改为tizen4.0
。 现在,不会修改原始框架标识符名称,并且如果框架版本发生更改,版本将使用最初用于项目中的格式。
ASP.NET Core
- 运行使用 HTTPS 的 ASP.NET Core 2.1 应用将提示你安装并信任 HTTPS 开发证书,以便在本地测试站点时使用 HTTPS。
- 修复了发布 ASP.NET Core Web 应用的问题,其中不能显示现有的 Web 应用。
- 修复了问题,其中当不应该修改项目文件时,从模板中添加新的 .cshtml 文件会将 MSBuild 项添加到该项目文件。
可访问性
通过文本编辑器边距,可访问键盘。
- 如果文件编辑器具有焦点,按 Alt+Tab 光标会移动到边缘,可以使用 Tab、Shift+Tab 和光标键在其间移动 。
- 按 Shift 将激活具有焦点的边距项。
这修复了 bug #53722。
Xamarin
Xamarin.Forms
此版本带来了大量 bug 修复程序,以改进 .NET Standard 开发人员体验。
- 更新了 Xamarin.Forms 以使用共享 .NET Core 模板化引擎,使模板现在与 Visual Studio (Windows) 一致。
- 更新了 C# Xamarin.Forms 项目模板(空白窗体应用、窗体应用和类库)并且现在包括 .NET Standard 项目而不是可移植类库项目。
我们修复了在 .NET Standard 项目中使用 Xamarin.Forms 时的下列问题:
- 为 ContentPage XAML 文件将生成操作更改为 None 不会向项目添加 None MSBuild 项。
- 当从项目中排除 XAML 或 xaml.cs 文件时,删除未添加到项目的项。
- 修复了在文本编辑器中从项目文件中删除 Remove 项后,XAML 和 xaml.cs 文件不嵌套。
- 将 XAML 文件从现有 PCL/共享项目中移动/复制到 .NET Standard 项目会导致不再编译 .NET Standard 项目。
- 在“解决方案”窗口中重命名父级 XAML 文件时现在会重命名依赖型 xaml.cs 文件。
- 防止独立于 XAML 文件重命名 xaml.cs 文件,因为 .NET Standard 项目中的 Xamarin.Forms 不支持不同的名称。
我们修复了以下 XAML 文件代码补全问题:
- 修复了 XAML 文件中的表情符号会中断编辑器并导致致命错误的问题。
- 自结束标记的末尾补全不一致。
- DataTemplate 和 ControlTemplate 元素内添加了代码补全。
- 如果已经存在
=""
,使用=
结束属性会添加重复的=""
的问题。 - 向代码补全列表中添加了样式表和其他 XAML 扩展。
- FontSize 值代码补全现可提供命名的大小。
- 在标记扩展中间开始代码补全未显示正确的列表。
Xamarin.Android
Android Device Manager
我们已将 Xamarin Android Device Manager(图 5)进一步集成到 Visual Studio for Mac。 此功能仍处于 Beta 状态,并且作为 Android AVD Manager 的替代项提供,随着 SDK Tools 26 的发布,Google 已弃用该功能,而选用命令行工具。 通过设备管理器,你可以快速轻松创建仿真器并使用内置属性编辑器编辑其配置。 它支持来自 Google 的最新仿真器,并能够下载并安装缺少的依赖关系,因此无需切换到 SDK 管理器即可安装新的系统映像。 默认情况下,仿真器为实现更快的启动时间而使用快速启动(图 6)。
此版本较网页预览版显著改进了 UX 和 UI,我们解决了众多用户报告的 bug。
可通过选择“工具”>“设备管理器”启动设备管理器。


Android SDK 管理器
此版本 SDK 管理器(图 7)包括对可靠性和性能的大量改进,以及一些视觉对象改进。 此外,我们还添加了对“推荐”Microsoft 清单的支持,该清单包含适用于 Xamarin 应用程序的经验证版本的组件。 当我们支持它们时,组件只供下载。

- 我们改进了在高 Sierra 上检测 HAXM 的体验。 高 Sierra 和 Android SDK Tools v27+ 支持加速仿真器,而无需安装 HAXM。 以前,Visual Studio for Mac 会在不需要检查 HAXM 的这些情况下尝试检查它。
- 我们更新了模板以使用 API 27
Xamarin.Android.Support.*
包。
我们修复了 Android 的下列问题:
- 你现在可以在“新建项目”对话框中向项目添加一个新的 Android 布局文件。
- 优化了 Xamarin.Android 分析器,以不在生成的代码上运行。
- 修复了发布 Android 包时的问题。
- 修复了 Android 仿真器启动器问题,该问题影响用户并行安装 Visual Studio for Mac。
- 修复了通过“推出”选项向 Google Play 商店发布时的问题。
- 修复了导致不能从“新建项目”对话框向项目添加新的 Android 布局文件的问题。
- 修复了 Android 属性在文本编辑器中重复呈现的问题。
- 改进了对如何发现 Android 版本和代码名的支持,为预览版 SDK 提供更好的支持。
- 更新了默认 TLS 选项的标签,以反映 Xamarin.Android SDK 中的更改,该标签为本机 TLS 1.2+。
- 修复了存档项目以进行发布时包含 AfterBuild 目标的问题。
- 修复了 Android #F 应用中 UI 测试在设备上崩溃的问题。
有关详细信息,请参阅 Xamarin.Android 发行说明。
Xamarin.iOS
- 包括对 Xcode 9.3 的支持。
- 修复了在 UIButton 上完成 iOS 事件时有关 Intellisense 的问题。
- 更新了资产目录编辑器的“导入”上下文菜单命令,以允许同时导入多个资产。 这修复了 bug #60781。
- 更新了 iOS 自动预配算法,以支持更多授权:
- 数据保护
- Wallet
- 关联的域
- 近场通信可修复某些 devcomm 问题
- 修复了当没有任何仿真器可用时,显示的“泛型仿真器”为有效部署目标的 UI 问题。
- 修复了缺少 IntelliSense 的问题。
- 修复了从基于 monotouch 的项目迁移到经典,然后到统一项目时的问题。
- 我们删除了 iOS 项目的旧版“HeapShot”内存分析选项。 可使用 Xamarin Profiler 进行内存分析。
注册器优化
这是一组优化,使动态注册器可由链接器移动(在大多数情况下)。 这将导致:
- 较小的应用程序: 链接的 Xamarin.iOS.dll 现在小了 30-50%。 仅在生成时需要信息(如自定义属性),可轻松删除。 随着引用的代码更少,链接器能够删除比早期版本更多的代码。
- 更快的应用程序启动速度: 在生成时而不是运行时完成更多注册工作。 例如,这将无需减慢反映自定义属性以注册类型和方法。
- 减少内存使用量: 避免的工作还可以减少应用程序所需的内存。 对于最小的应用程序,初始(启动)内存要求降低了 30%,而对于扩展降低了 20%。 这样可以轻松创建某些类型的扩展,其中 iOS 施加了内存限制(例如,对于 Today 扩展,限制为 16MB)。
有关更多信息,请参阅 Xamarin.iOS 发行说明。
可视化设计器
iOS 设计器
- 在文档大纲中拖放: 现在可以在文档大纲中拖动项,以影响它们在容器中的 Z 顺序,或者将其移动到其他容器中。
- 文档痕迹导航栏: 设计器顶部工具栏中的新痕迹导航栏显示所选视图的父层次结构。 单击痕迹导航栏中的父视图,以在设计图面上选择它。
- Xcode 9.3 支持:
- 更新了 iOS 设计器,可正确使用最新版 Xcode 9.3。
- 添加了缺失的 Xcode 9 属性。
- 修复了 layoutGuides 创建。
- 添加了对最新 watchOS 视图和笔势的支持,包括:
- SCNScene
- SKScene
- HomeKit 相机
- 付款按钮
- 笔势
Android 设计器
- 更可靠的资源处理。
- 改进了多重选择的行为。
Xamarin.Mac
- 我们修复了使其可以运行最低 OS 版本大于当前 OS 的应用的问题。
- 我们修复了编辑器会突出显示 NetStandard 引用的每种用法,即便项目生成并运行正常也是如此的问题。
有关更多信息,请参阅 Xamarin.Mac 发行说明。
Live Player
- 我们修复了 Visual Studio for Mac 会在部署到 Live Player 前尝试生成项目的问题。
- 我们修复了选择模拟器生成配置时 Live Player 设备不可见的问题。
Xamarin Profiler
- 改进了浅分配模式。
- 改进了快照比较。
- 性能得到了改进。
有关更多信息,请参阅配置文件发行说明。
App Center Test
“新项目”对话框模板和类别现指 App Center Test 而不是 Xamarin Test Cloud。 “新项目”对话框的最终配置页显示 App Center Test,且“了解更多”链接将打开 App Center Test 网站。 入门页现在显示 App Center Test,且链接将转到 App Center Test 网站。
其他修复
- 修复了 .NET Framework 库项目中的 MSTest 测试的问题。
- 修复了使用 Unity 进行调试的问题。
- 修复了在非现有 C# 函数上设置断点的问题。
- 修复了如果项目中存在重复文件,还原 NuGet 包时的重复密钥错误。
- 修复了不正确 F# 函数关键字突出显示的问题。
- 修复了可能的子版本后端崩溃。
- 我们更正了俄语本地化的问题。
- 我们修复了创建 Azure 应用服务时未填充定价选项的问题。
Visual Studio for Mac 7.5.1 (7.5.1.22)
发布时间:2018 年 5 月 15 日
- 我们修复了在 Visual Studio for Mac 中打开在 Windows 版 Visual Studio 中创建的解决方案时造成的致命错误。
- 我们修复了导致 Monodevelop 崩溃的问题。
- 我们修复了选项卡未替换为空格的问题。
- 我们修复了在每个 Release 生成上,向 .csproj 文件添加新的
Reference
的问题。 这修复了以下报告的问题: - 我们修复了在 iOS 设计器中,当 UILabel 文本属性从 Plain 更改为 Attribute 时崩溃的原因。
- 现在可以选择包含特殊字符的设备
- 我们修复了导致
NavigateTo
类型筛选器无法正常工作的问题。 - 我们修复了 IntelliSense 窗口的线程处理问题。
Visual Studio for Mac 7.5.2 (7.5.2.40)
发布时间:2018 年 5 月 30 日
此版本提供了对 Apple Xcode 9.4 的支持。
在此版本中,我们修复了以下问题:
- 在导航到程序集浏览器时,使用“转到定义”无法可靠地工作。
- 新建 Azure Functions 项目将导致 IntelliSense 错误,直到将该项目关闭并重新打开。
- 折叠区域将自动展开。
- 当系统语言被更改为中文时,在 Visual Studio for Mac 中未反映此更改。
- 在从模板中创建的新 ASP.NET Core Web 应用中编辑
appsettings.json
时出现致命错误。 - 编译更改时,不更新 C# 分类。
- 欢迎页上的“固定”图标过小。
- Visual Studio for Mac 代码段光标位置问题。
- Xamarin.Forms - SomePage.xaml.cs -> InitializeComponent() 显示它不确定。
- 使用链接的 XAML 文件的相同成员之间的多义性。
- 在运行速度较慢的计算机上下载或安装过程中无法移动主 Android SDK 管理器窗口。
我们还修复了新 Android Device Manager 中的以下问题:
- AVD 未创建,
Error code 1 thrown
。 - 设备加载缓慢。
- 在一个对话中多次请求修复权限。
- 对于现有仿真程序,仿真程序名称未正确显示在编辑器的“名称”部分。
- 当队列中有项目时,排队的文本将被显示为截断。
- AVD 删除问题。 我们现在还将新的 AVD 的默认 API 级别设置为 API 27。
Visual Studio for Mac 7.5.3 (7.5.3.07)
发布时间:2018 年 6 月 19 日
此版本提供对 ClassKit 权利的 Xamarin.iOS 支持。 有关 ClassKit 的详细信息,请参阅 Apple 的ClassKit 指南。
除 ClassKit 支持以外,我们还解决了以下问题:
- 修复了将鼠标悬停在与编译错误相关的“...”上时左侧滚动条槽损坏的问题。
- 修复了 Visual Studio for Mac 在保存文件时冻结的问题。
Visual Studio for Mac 7.5.4 (7.5.4.3)
发布时间:2018 年 7 月 23 日
此版本解决了以下问题:
- 修复了 Visual Studio for Mac 似乎未提供更新的问题。
- 修复了韩语输入问题:从行尾往前选中时,未突出显示结束字符。
- 修复了韩语输入问题:在选中/突出显示时(例如复制 + 粘贴时)出现字符转置。
- 改进了反馈调查的导航和流。
已知问题
下面列出了 Visual Studio for Mac 版本 7.5 现有全部已知问题。
- 未在安装程序中检测到已安装的 Android SDK(如果通过 Android Studio 安装)。
- 提交时,缩进 @{} 块中的代码上跳一行。
- 项目中的 Razor TagHelper 在生成上未刷新。
- CSS 类 IntelliSense 在 _Layout.cshtml 中,而不是在视图中。
- 在 Razor 中,切换注释在 HTML 中不起作用。
- 在 Razor 中,缩进
<environment>
标记内容缩进错误。 - 如果脱字号后紧跟
}
,补全不会提交。 - 在 for 循环中键入
<text>
标记将更改为 textarea。