Visual Studio 2017 for Mac

Last Update: 2017/10/9

開發人員社群 | 系統需求 | 相容性 | 可散發的程式碼 | Xamarin | 部落格 | 服務


本文包含 Visual Studio 2017 for Mac 版本 7.1 最新版本的相關資訊。

使用 Visual Studio 2017 for Mac 建置下列項目的應用程式:行動裝置、Web 與使用 Xamarin 和 .NET Core 的雲端,以及使用 Unity 的遊戲。

<img src="media/download-vs-mac-btn.png"alt="下載 Visual Studio 2017 for Mac">

若要深入了解其他相關下載,請參閱下載頁面。 若要深入了解 Visual Studio 2017 for Mac,請參閱 Mac 系統需求Mac 平台目標及相容性

意見反應

請提供您的意見! 您可以透過安裝程式或 Visual Studio IDE 本身的回報問題選項來回報問題。 您會在右上角找到選項。 您可在開發人員社群入口網站追蹤您的意見反應。 如需建議,請透過 UserVoice 網站告訴我們。

發行日期:2017 年 8 月 14 日 - Visual Studio for Mac 7.1.0.1297

此版本聚焦於 Bug 修正,並引進下列新功能:

  • 使用 .NET Core 2.0 建置應用程式的支援。
  • iOS 簽署工作流程更新。

.NET Core 2 支援

Visual Studio for Mac 支援建置 .NET Core 2.0 應用程式,包含程式庫、主控台應用程式,以及使用 ASP.NET Core 的 Web 應用程式和服務。

請注意,透過個別下載來安裝 .NET Core 2.0 SDK,以在 Visual Studio 2017 for Mac 版本 7.1 中開發 .NET Core 2.0。 您可以在 www.dot.net/core 取得它。 Visual Studio 啟用多個 .NET Core SDK 的並存支援。 這也表示同時使用最新公開版本進行開發時,您可以試驗 .NET Core SDK 的最新每日組建。

iOS 簽署工作流程更新

這個版本引進建立 iOS 和 tvOS 應用程式之必要簽署構件的能力。 您可以使用 Visual Studio for Mac:

  • 建立新的簽署身分識別,然後將它們安裝至本機 Keychain。
  • 建立新的佈建設定檔。
  • 將新的簽署身分識別新增至現有設定檔。
  • 佈建新的裝置:在 Apple Developer 入口網站中註冊裝置,並將它們新增至佈建設定檔。

若要試用這些新的簽署功能,請以滑鼠右鍵按一下您的專案,然後瀏覽至 [選項] > [iOS 套件組合簽署]。

使用簽署身分識別區段

簽署之前,您必須滿足下列條件:

  • 有效憑證 (未撤銷) 會顯示在 Apple Developer 入口網站的 [憑證] 區段中。
  • 憑證是針對選取的小組/開發人員所發行。
  • 憑證和私密金鑰都應該安裝在本機 Keychain 中。
  • 憑證不應該過期。

如果目前的電腦上沒有任何身分識別,請使用下拉式清單中的 [建立簽署識別] 選項。

使用佈建設定檔區段

若要顯示在 [佈建設定檔] 下拉式清單中,設定檔必須滿足下列條件:

  • 未過期。
  • 有效 (包括已註冊的裝置和有效憑證)。
  • 符合目前的散發類型 (根據頂端的參數,為 [偵錯] 或 [發行])。
  • 符合套件組合識別碼。 具有相符模式的萬用字元設定檔也會顯示在這份清單中。

如果找不到任何設定檔,請使用下拉式清單中的 [建立佈建設定檔...] 項目。

如果您需要切換回舊版的簽署控制項,並手動設定佈建設定檔和簽署身分識別,請將小組設定為 [無]。 新的簽署控制項將會取代為舊的簽署控制項。 不過,強烈建議您嘗試新功能,並在發生任何問題時提供意見反應。

限制:

  • 在 Visual Studio for Mac 中建立的佈建設定檔將不會考慮您專案中所選取的權利 (Entitlements.plist)。 在未來的 IDE 版本中,將會新增這項功能。
  • 散發佈建設定檔預設會以 App Store 為目標。 內部作業或臨機操作設定檔應該手動予以建立。

此版本中的修正

Android SDK Manager

  • Android SDK Manager 現在已整合至 Visual Studio Preferences,而不是外部應用程式。
  • 已修正︰在中止安裝之後,Android SDK Manager 顯示錯誤的元件狀態。
  • 已修正︰如果有更新會導致意外解除安裝元件,則已安裝但未選取 Android SDK 工具。
  • 已修正︰如果未進行任何 SDK 元件變更,則不會儲存預設 Android SDK 位置。

效能改善

  • 改善文件中的開啟、轉譯、鍵入效能。
  • 最佳化鍵入時完成的背景工作。
  • 改善開啟解決方案的載入時間。
  • 將載入搜尋列結果最佳化。
  • 最佳化大量來源分析規則。
  • 最佳化 UI 工作的低階程式碼。
  • 已修正會造成 IDE 記憶體使用量隨著時間不斷成長的問題。
  • 最佳化程式碼完成、參數提示、語意醒目提示。
  • 最佳化解決方案面板中的資料夾展開 - 包含數百個項目的資料夾特別明顯。
  • 最佳化第一次執行和後續執行的 IDE 啟動時間。
  • 一般情況下,最佳化使用 IDE 的 CPU 使用量和記憶體流量。

其他改善

  • 已改善:我們已更新要用於受 Proxy 保護之系統上的身分識別服務。 這將會從 Keychain 取得驗證詳細資料或提示輸入它們。 如果您先前登入時已發生問題,請再試一次,並將您的任何意見反應傳送給我們,讓我們繼續改善 Proxy 的支援。
  • 已修正︰條件約束優先順序會在 [屬性] 面板中顯示 0;無法從 [設計工具] 快顯視窗設定。
  • 已修正︰新增可指定 F# 專案之平台目標的能力。
  • 已修正︰未使用的命名空間程式碼問題未正確地處理 FSharp.Core 命名空間。
  • 已修正︰許多 [新增檔案] 對話方塊/字串都未當地語系化。
  • 已修正︰[新增解決方案] 對話方塊未當地語系化。
  • 已修正︰在 Configure your new Single View App 對話方塊中,文字遭到截斷。
  • 已修正︰Nuget 精靈工具提示會顯示 XML 字元參考 '''。
  • 已修正︰暫停更新時,更新程式工具提示是空的。
  • 已修正︰在 VSTS 上更新 Git 存放庫因「Null 使用者名稱或密碼」而失敗。
  • 已修正︰第一次使用時重構 "nameof" 案例錯誤。
  • 已修正︰有多個最近使用的專案時,歡迎頁面會遺失我最近使用的專案。
  • 已修正︰如果容器應用程式已啟用裝置特定建置,但延伸模組尚未啟用,則發生 iOS 建置錯誤。
  • 已修正︰區域變數的 C#6 字串插值沒有語法醒目提示。
  • 已修正︰在某些情況下,使用者無法啟動 Xamarin Inspector。
  • 已修正︰以發行模式建置原生應用程式 (和 iOS) 時收到警告。
  • 已修正︰.NET Core Class Library 以 .NET Standard 為目標,而非 netcoreapp。
  • 已修正︰將影片 (.png 或 .jpg) 新增至 iOS 分鏡腳本時,IDE 當機。
  • 已修正︰新增所有 Google Play Services 套件失敗,錯誤為 「System.AggregateException: 發生一或多項錯誤。 ---> System.ArgumentNullException: 值不可以是 Null。v 參數名稱: packageIdentity.Version」。
  • 已修正︰在 [正在載入] 時,快速修正右鍵子功能表當機。
  • 已修正︰下列情況時,檔案瀏覽器未顯示 SDK 位置:按一下 […] 檔案總管選項 (位於 Android SDK Manager 的 [位置] 索引標籤中)。
  • 已修正︰未編譯 F# .NET Core 專案。
  • 已修正︰登入 MS 帳戶會提示輸入認證來存取 Proxy 伺服器 graph.windows.net。
  • 已修正︰某些 F# 專案的 [尋找參考] 和 [尋找衍生的類型] 中的死結。
  • 已修正︰嘗試在 Visual Studio for Mac 中新增 iOS 帳戶時,發生 Null 參考例外狀況。
  • 已修正︰將 .NET Standard 專案新增至現有解決方案/目錄結構時重寫/重新格式化磁碟上的「所有」原始程式碼。
  • 不需要安裝特定 .NET Core 版本 (Preview 2) 以使用 .NET Core 2.0。 現在支援更新 Preview 和 .NET Core RTW。

發行日期︰2017 年 6 月 2 日 - Visual Studio for Mac 7.0.1.24

此版本修正了一些 Bug 和記憶體流失問題。

Android SDK Manager

  • 已修正︰SDK 授權未正確包裝。
  • 已修正:[取消] 按鈕未將標籤變更回 [安裝更新]。
  • 已修正︰解除安裝 SDK 工具的最新組建時,所有 SDK 工具都會解除安裝。
  • 已修正︰能夠在進行更新時修改元件。
  • 已修正︰因為權限問題,無法從獨立安裝程式使用下載的 SDK 工具。
  • 已修正︰無法安裝先前移除的元件。
  • 已修正︰無法安裝 SDK 工具 25.2.5。

其他問題

  • 已修正︰使用並排文件視窗還原文件時的問題。
  • 已修正︰具有 .NETStandard/new csproj 格式可攜式程式庫的目前內容中沒有名稱 'InitializeComponent'。
  • 已修正︰Android 部署在發行模式中失敗且未顯示訊息。
  • 已修正︰快速檢修未執行任何動作。
  • 已修正︰無法在 [編輯參考] 對話方塊中移除參考。
  • 已修正︰將 iOS Forms PCL App 上傳至測試雲端的建置步驟失敗,發生「未知的 MSBuild 失敗」。
  • 已修正︰無法在 .Net Core 應用程式中檢查變數。
  • 已修正︰F# 偵錯命令顯示在所有檔案中。
  • 已修正:F# Xamarin Forms 範本未還原套件。
  • 已修正︰偵錯 .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 Test Platform 來執行和偵錯測試。
  • 從舊 project.json 格式進行移轉。

Web 工具

Visual Studio for Mac 新增 HTML、CSS 和 JSON 檔案的新 Web 工具支援。

HTML

  • HTML 新 範本。
  • 改良的智慧縮排和格式化。
  • 改良的顏色標示。
  • 改良的 IntelliSense。
  • 程式碼摺疊功能 (必須予以啟用)。
  • 解除美化命令。
  • 改良的程式碼範本 (程式碼片段)。
  • 使用 <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 Standard 相容的架構。
  • 原生 API 的繫結。

多平台應用程式範本

多平台 Xamarin.Forms 應用程式原生應用程式專案範本現在提供快速的方法,讓您建立多平台行動應用程式和其雲端後端。

這些範本會建立多個專案︰透過共用專案共用程式碼的 Xamarin.iOS 應用程式專案和 Xamarin.Android 應用程式專案,以及實作應用程式後端服務的 .NET Core Web API 專案 (圖 1)。

Debugging with .NET Core

(圖 1) 使用 .NET Core 進行偵錯

將 ASP.NET Core Web 應用程式發行至 Azure App Services

您可以將 ASP.NET Core Web 應用程式發行至 Azure App Services (圖 2)。

Publish to Azure content menu

(圖 2) 發行至 Azure 內容功能表

若要發行 Web 應用程式,請從 [Solution Pad](方案板) 或 [專案] 功能表中選取 [Publish | Publish to Azure](發行 | 發行至 Azure) 命令。 然後,選擇您想要部署至其中的 [應用程式服務],或建立新的 Azure App Service (圖 3)。 發行輸出將會記錄到 [發行] 輸出板,並在專案的 [屬性] > [PublishProfiles] 下方建立發行設定檔。

Publish a new app service

(圖 3) 發行新的應用程式服務

專案中所定義的所有發行設定檔都會顯示為 [發行] 功能表內的選項,以讓您再次進行部署,而不需要再次選取 [應用程式服務]。

多處理序偵錯

專案的「專案回合組態」可以指定用於執行您專案的選項和引數。 工具列中的下拉式清單可讓您檢視和變更目前使用中的回合組態。

Visual Studio for Mac 的 [Solution Run Configurations](方案回合組態) 視窗可允許一次啟動「多個」專案。 您可以在 [Solution Options](方案選項) 對話方塊中建立方案回合組態。 這十分適合偵錯行動裝置應用程式如何與其後端服務互動。

TextMate 套件組合

Visual Studio for Mac 支援 TextMate 語言套件組合,可用來新增:

  • 編輯器色彩佈景主題。
  • 程式碼片段。
  • 新語言、啟用醒目提示和基本 IntelliSense 的文法。

您可以在 [喜好設定] > [文字編輯器] > [Language Bundles] (語言套件組合) 中新增 TextMate 套件組合。

iOS

音訊單元精靈

新的 [音訊單元延伸模組精靈] (圖 4) 會新增 3 個選項來自訂音訊單元專案範本的 plist。

  • 音訊單元類型
    • 檢測
    • Generator
    • 作用
    • 音樂效果
  • 子類型代碼︰只能有 4 個字元。
  • 製造商代碼︰只能有 4 個字元。

Audio Unit Wizard

(圖 4) 音訊單元精靈

watchOS 延伸模組精靈

在 Xcode 8.3 中,從 Intents 延伸模組 (Siri) 開始,Apple 已引進 watchOS 延伸模組 (與 iOS 延伸模組類似)。

[watchOS 延伸模組精靈] (圖 5) 已更新成支援 watchOS 延伸模組,而且我們現在有專屬的 Intents 延伸模組範本。

watchOS extension wizard

(圖 5) watchOS 延伸模組精靈

其他改進和 Bug 修正
  • 我們現在可在自動完成視窗中處理 DeprecatedObsoleted 屬性。 這可讓 Xamarin.iOS 的已過時和已取代的 API 顯示為刪除線。
  • 部署裝置時會顯示進度列。 這對 watchOS 特別有用 (需要 Xamarin.iOS 10.5.0.323+)
  • 我們使用 Xamarin.iOS 中已知的 OS 版本填入部署目標下拉式清單。
    兩項優點是我們可以提供給您每個應用程式延伸模組類型的確切最小版本,以及根據 Xcode 來避免顯示 Xamarin.iOS「尚未」支援的 OS 版本。

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 Manager (圖 6)。

Android SDK Manager window

(圖 6) Android SDK Manager

  • 將您的專案部署至裝置或模擬器,現在是透過 /t:Install msbuild 目標完成。 Visual Studio for Mac 之前使用其專屬內部邏輯將應用程式部署至裝置,但現在使用可從終端機使用或在 Windows 上用於 Visual Studio 的相同一般目標。 此其中一個優點是現在有更好的記錄檔可用來診斷部署問題。

  • class-parse 現在是新繫結專案的預設值。 它不需要 JVM 即可以直接剖析 Java 位元組程式碼。 您現在可以從包含偵錯符號的 Java 位元組程式碼中擷取參數名稱。 例如,以 javac -g 編譯的位元組程式碼。 class-parse 也不會「略過」繼承自或包含無法解析類型成員的類別。

協助工具選項

  • 這版的 Visual Studio for Mac 支援 Voice Over 這類的輔助技術。 透過這些技術都可以存取使用者介面的許多組件,例如編輯器與方案總管。 不過,未來版本仍然不斷追求進一步的改進。 您可以透過 [協助工具] 喜好設定,或透過輸入下列命令列,來啟用協助工具功能:

    defaults write com.microsoft.visual-studio com.monodevelop.AccessibilityEnabled 1

    頁首