建議使用 Visual Studio 2017

使用 NuGet 和擴充功能 SDK 兩種方式新增參考

 

如需 Visual Studio 2017 的最新文件請參閱 Visual Studio 2017 文件

您可以使用 Visual Studio NuGet 擴充功能或軟體開發套件 (SDK),供 Visual Studio 專案中提供封裝。 描述這兩個機制之間的差異與相似之處,本主題可以協助您選擇適合您的工作。

  • NuGet 是開放原始碼封裝管理系統,可簡化程式庫併入專案方案的程序。 如需詳細資訊,請參閱 NuGet 概觀

  • SDK 是 Visual Studio 將視為單一參考項目檔案的集合。 參考管理員 對話方塊會列出所有已開啟該對話方塊會顯示專案與相關的 Sdk。 當您將 SDK 加入專案時,可以存取所有該 SDK 的內容透過 IntelliSense、 工具箱, ,設計工具、 物件瀏覽器, ,MSBuild,部署、 偵錯和封裝。 如需 Sdk 的詳細資訊,請參閱 建立軟體開發套件

下表可協助您比較使用參考的 NuGet 功能 SDK 的參考功能。

功能SDK 支援SDK 資訊NuGet 支援NuGet 備忘稿
機制會參考一個實體,然後所有檔案和功能都就可以使用。YSDK 加入使用 參考管理員 對話方塊中,所有檔案和功能可在開發工作流程期間。Y
MSBuild 會自動使用組件和 Windows 中繼資料 (.winmd) 檔案。YSDK 中的參考都會自動傳遞給編譯器。Y
MSBuild 會自動使用.h 或.lib 檔案。YSDKName.props 檔案會告知 Visual Studio 如何設定 Visual c + + 目錄中,以此類推,供自動.h 或.lib 檔案。N
MSBuild 會自動使用.js 或.css 檔案。Y方案總管] 中, ,您可以展開以顯示個別的.js JavaScript SDK 的參考節點或.css 檔案,然後產生 <source include/> 將這些檔案拖曳至其原始程式檔的標記。 SDK 支援 F5 及自動封裝設定。Y
MSBuild 會自動加入控制項 工具箱Y工具箱 可以取用的 Sdk,並在您指定的索引標籤中顯示控制項。N
機制會支援 Visual Studio 安裝程式的擴充功能 (VSIX)。YVSIX 有特殊的資訊清單和邏輯,來建立 SDK 封裝YVSIX 可以內嵌在另一個安裝程式。
物件瀏覽器 列舉的參考。Y物件瀏覽器 自動取得 Sdk 中參考的清單,並列舉它們。N
檔案和連結會自動加入至 參考管理員 對話方塊 (說明連結,並填入等自動)Y參考管理員 對話方塊自動列舉 Sdk,以及說明連結和 SDK 相依性的清單。NNuGet 提供它自己 管理 NuGet 封裝 對話方塊。
機制支援多個架構。YSdk 可以傳送多個組態。 MSBuild 會使用適當的檔案,針對每個專案組態。N
機制支援多種設定。YSdk 可以傳送多個組態。 根據專案的架構,MSBuild 會使用適當的檔案,為每個專案架構。N
機制可以指定 「 不複製。 」Y根據是否檔案都會被丟棄在 \redist 或 \designtime 資料夾中,您可以控制要複製到取用應用程式封裝的檔案。N您可以宣告要複製的套件資訊清單中的檔案。
內容會出現在已當地語系化的檔案。YSdk 中的當地語系化的 XML 文件會自動包含以獲得更佳設計階段體驗。N
MSBuild 支援同時使用多個版本的 SDK。YSDK 支援同時使用多個版本。N這不參考。 您不能在專案中有多個版本的 NuGet 檔案,一次。
機制支援指定適用的目標 framework、 Visual Studio 版本和專案類型。Y參考管理員 對話方塊和 工具箱 只套用至專案時,Sdk 會顯示,讓使用者可以更輕鬆地選擇適當的 Sdk。Y (部分)樞紐分析表是目標架構。 沒有任何使用者介面的篩選。 在安裝時,它可能會傳回錯誤。
機制支援原生 Winmd 指定註冊資訊。Y您可以指定 SDKManifest.xml.winmd 檔案和.dll 檔案之間的相互關聯。N
指定其他 Sdk 相依性機制支援。YSDK 只會通知使用者。使用者仍必須安裝它們,並手動加以參考。YNuGet 會提取它們自動;不通知使用者。
與整合機制 Windows 市集 概念,例如應用程式資訊清單和架構的識別碼。YSDK 必須傳遞特有的概念 市集 使封裝和 F5 正確地使用 Sdk 中的可用市集。N
偵錯管線的應用程式整合機制 Windows 8.x 市集 應用程式。Y必須通過 SDK 市集-特定的概念,讓封裝和 F5 正確地使用 Sdk 中提供 市集。YNuGet 內容會成為專案的一部分。 不需要任何特殊的 F5 考量。
機制整合與應用程式資訊清單。Y必須通過 SDK 市集-特定的概念,讓封裝和 F5 正確地使用 Sdk 中提供 市集。YNuGet 內容會成為專案的一部分。 不需要任何特殊的 F5 考量。
機制會部署非參考檔案 (例如,部署在其上執行測試的測試架構 Windows 8.x 市集 應用程式)。Y如果您將檔案放在 \redist 資料夾中,會自動部署的檔案。Y
機制會自動加入 Visual Studio IDE 中的平台 Sdk。Y如果您卸除 Windows 8 SDK 或 Windows Phone SDK 中的特定位置具有特定配置中,SDK 會自動整合與所有 Visual Studio 功能。N
機制支援全新的開發人員機器。 (也就是不需,安裝作業和簡單的擷取從原始程式碼控制運作)。N由於您參考的 SDK,因此您必須個別簽入您的方案和 SDK。 您可以檢查兩個非登錄預設位置的 MSBuild 會逐一查看 Sdk 的 SDK 中 (如需詳細資訊,請參閱 建立軟體開發套件)。 或者,如果自訂位置所組成的 Sdk,您可以指定下列的程式碼專案檔中︰

 <PropertyGroup> <SDKReferenceDirectoryRoot>C:\MySDKs</SDKReferenceDirectoryRoot> </PropertyGroup>

請檢查 Sdk 到該位置。
Y您可以簽出方案,Visual Studio 立即可辨識並處理程式碼檔案。
您可以將大型的現有封裝的作者群。N/A社群是新功能。Y
您可以加入現有的大型社群,封裝取用者。N/A社群是新功能。Y
您可以聯結 (自訂組件庫、 儲存機制等等) 的協力廠商的生態系統。N/A可用的儲存機制包含 Visual Studio 組件庫,Microsoft 下載中心,和 Windows 市集。Y
建立套件和耗用量的連續整合組建伺服器整合的機制。YSDK 必須傳遞命令列上的簽入的位置 (SDKReferenceDirectoryRoot 屬性),msbuild。Y
此機制可支援這兩個穩定和發行前版本的封裝版本。YSDK 支援將參考加入至多個版本。Y
機制支援自動更新已安裝的封裝。Y如果寄送 VSIX 或部分 Visual Studio 自動更新,SDK 會提供自動通知。Y
機制中包含獨立的.exe 檔案,建立及使用封裝。Y此 SDK 包含 MSBuild.exe。Y
封裝可以簽入版本控制。Y您不能簽入文件] 節點,這表示不可能檢查擴充功能 Sdk 外的任何內容。擴充功能 SDK 的大小可能巨大。Y
您可以使用 PowerShell 介面來建立和使用的封裝。Y (耗用量) N (建立)任何工具來建立 SDK。 在命令列上執行 MSBuild 耗用量。Y
您可以使用符號封裝進行偵錯支援。Y如果您卸除 SDK 中的.pdb 檔案,檔案取得自動挑選。Y
機制支援封裝管理員自動更新。N/ASDK 取得使用 MSBuild 修訂。Y
機制支援輕量的資訊清單格式。YSDKManifest.xml 支援許多屬性,但一小部分是有其必要。Y
此機制可供所有 Visual Studio 版本。YSDK 支援所有 Visual Studio 版本,從 Visual Studio Express 透過 Visual Studio Ultimate。YNuGet 所有 Visual Studio 版本,Express 最多可支援透過 Visual Studio Ultimate。
此機制會適用於所有專案類型。NSDK 支援 Windows 8.x 市集 應用程式啟動 Visual Studio 2012。N您可以檢閱允許專案的清單。

管理專案中的參考

顯示: