管理專案中的參考

在您針對外部元件或已連線服務撰寫程式碼之前,您的專案首先必須包含所需的參考。 參考其實是在專案檔中的項目,包含 Visual Studio 找出該元件或該服務所需的資訊。

新增參考的方式取決於您所處理的程式碼專案類型:

  • 如果您在方案總管中看到 [相依性] 節點,您可以使用滑鼠右鍵捷徑功能表來選取 [新增專案參考]

    Screenshot of the Add Project Reference option from the right-click context menu.

    您也可以使用滑鼠右鍵按一下專案節點,然後選取 [新增]>[專案參考]

  • 如果您在 方案總管中看到 [參考] 節點,您可以使用滑鼠右鍵捷徑功能表來選取 [新增參考]

    Screenshot of the Add Reference option from the right-click context menu.

    或者,使用滑鼠右鍵按一下專案節點,然後選取 [新增]>[參考]

    如需詳細資訊,請參閱如何:新增或移除參考

您可以新增下列元件及服務類型的參考:

  • .NET 類別庫或組件

  • UWP 應用程式

  • COM 元件

  • 其他組件或相同解決方案中專案的類別庫

  • 共用的專案

  • XML Web Service

UWP 應用程式參考

通用 Windows 平台 (UWP) 會為每個執行 Windows 的裝置提供通用應用程式平台。 若要瞭解如何建立 UWP 應用程式,請參閱教學課程:在 Visual Studio 中使用 XAML 和 C# 來建立您的第一個通用 Windows 平台應用程式

專案參考

通用 Windows 平台 (UWP) 專案可以建立對方案中其他 UWP 專案或者 Windows 8.1 專案或二進位檔的參考,前提是這些專案不使用 Windows 10 和更新版本中已淘汰的 API。 如需詳細資訊,請參閱 從 Windows 執行階段 8 移至 UWP

如果選擇將 Windows 8.1 專案的目標重定為 Windows 10 和更新版本,請參閱移植、移轉及升級 Visual Studio 專案

提示

如需如何建立及建置適用於 Windows 10 和 Windows 11 的新 UWP 應用程式的詳細資訊,請參閱選擇 UWP 版本

延伸模組 SDK 參考

Visual Basic、C#、C++ 和 JavaScript 通用 Windows 平台 (UWP) 應用程式可以參考以 Windows 8.1 為目標的延伸模組 SDK,前提是這些延伸模組 SDK 不使用 Windows 10 和更新版本中已淘汰的 API。 檢查延伸模組 SDK 廠商網站,確定是否可 UWP 應用程式參考。

如果您判定不支援您的應用程式所參考的擴充功能 SDK,則需要執行下列步驟:

  1. 查看造成錯誤的專案名稱。 您專案的目標平台會附註在專案名稱旁的括號中。 例如,MyProjectName (Windows 8.1) 表示您的專案 MyProjectName 的目標平台版本為 Windows 8.1。

  2. 移至擁有不受支援之延伸模組 SDK 的廠商網站,並安裝相依性與您專案的目標平台版本相容的延伸模組 SDK 版本。

    注意

    找出延伸模組 SDK 是否有其他延伸模組 SDK 相依性的一種方法,是在參考管理員中尋找。 重新啟動 Visual Studio、建立新的 C# UWP 應用程式專案,然後以滑鼠右鍵按一下專案並選取 [新增參考]。 依序移至 [Windows] 索引標籤和 [延伸模組] 子索引標籤,然選取延伸模組 SDK。 在參考管理員的右窗格中尋找。 如果有相依性,則會在那裡列出。

    重要

    如果您的專案特別以 Windows 10 為目標,且在先前步驟中安裝的延伸模組 SDK 相依於 Microsoft Visual C++ Runtime Package,則與 Windows 10 相容的 Microsoft Visual C++ Runtime Package 版本為 v14.0,並隨著 Visual Studio 一起安裝。

  3. 如果您在先前步驟中安裝的延伸模組 SDK 具有其他延伸模組 SDK 的相依性,請移至擁有相依性的廠商網站,然後安裝與您專案的目標平台版本相容的這些相依性版本。

  4. 重新啟動 Visual Studio,然後開啟您的應用程式。

  5. 以滑鼠右鍵按一下導致錯誤之專案中的 [參考][相依性] 節點,然後選取 [新增參考]

  6. 依序選取 [Windows] 索引標籤和 [延伸模組] 子索引標籤、針對舊延伸模組 SDK 取消核取方塊,然後核取新延伸模組 SDK 的核取方塊。 選取 [確定]。

在設計階段新增參考

當您在專案中參考組件時,Visual Studio 會搜尋下列位置中的組件:

  • 目前專案目錄。 (您可以使用 [瀏覽] 索引標籤尋找這些組件)。

  • 同一方案中的其他專案目錄。 (您可以使用 [專案] 索引標籤尋找這些組件。)

注意

  • 所有專案都包含 mscorlib 的隱含參考。
  • 所有專案都包含 System.Core 的隱含參考,即使 System.Core 已從參考清單中移除也一樣。
  • Visual Basic 專案包含 Microsoft.VisualBasic的隱含參考。

在執行階段參考共用元件

在執行階段中,元件必須位於專案的輸出路徑或全域組件快取 (GAC) 中。 如果專案包含不在這些位置其中之一的物件參考,您必須在建置專案時,將參考複製至專案的輸出路徑。 CopyLocal 屬性表示是否要進行此複製。 如果值為 True,則當您建置專案時,會將參考複製至專案目錄。 如果值為 False,則不會複製參考。

如果您部署的應用程式中包含在 GAC 中已註冊自訂元件的參考,則不論 CopyLocal 設定為何,該元件都不會隨著應用程式一起部署。 在舊版的 Visual Studio 中,您可以在參考上設定 CopyLocal 屬性以確保組件已部署。 現在,您必須手動將組件加入 \Bin 資料夾。 此動作會使所有自訂程式碼受到監督,因此可降低您在不熟悉的情況下發行自訂程式碼的風險。

根據預設,如果組件或元件位於全域組件快取或 Framework 元件,則 CopyLocal 屬性會設定為 False 。 否則,值會設定為 True。 專案對專案參考一律會設定為 True

參考以不同 .NET 版本為目標的專案或組件

您可以建立會參考以不同 .NET 版本為目標之專案或組件的應用程式。 例如,您可以建立目標為 .NET Framework 4.6 (參考目標為 .NET Framework 4.5 的組件) 的應用程式。 如果您建立的專案是以舊版 .NET 為目標,則無法在該專案中設定針對以新版為目標之專案或組件的參考。

如需詳細資訊,請參閱 Framework 目標概觀

專案對專案參考

專案對專案參考是包含組件的專案參考;您可以使用 [參考管理員] 對話方塊的 [專案] 索引標籤來新增專案參考。 當給定專案路徑時,Visual Studio 即可找出組件。

當您有會產生組件的專案時,您應該參考該專案,而不要使用檔案參考。 專案對專案參考的優點是它會在組建系統中建立專案之間的相依性。 如果自上次建置參考專案以來,該參考專案已變更,則會建置相依專案。 檔案參考不會建立組建相依性,因此可以建置參考專案而不需建置相依專案,且參考可能會遭到淘汰。 (也就是專案可以參考先前建置的專案版本。)這會導致在 bin 目錄中需要單一 DLL 的數個版本,但這不可能達成。 發生此衝突時,會出現訊息,例如「警告:專案 'project' 中的相依性 'file' 無法複製到執行目錄,因為它會覆寫參考 'file'」。如需詳細資訊,請參閱針對中斷參考進行疑難排解如何:建立和移除專案相依性

注意

如果某個專案的 .NET Framework 目標版本為 4.5 版,而其他專案的目標版本為第 2 版、第 3 版、3.5 版或 4.0 版,則會建立檔案參考而非專案對專案參考。

共用的專案參考

與大多數其他專案類型不同,「共用的專案」沒有任何二進位輸出。 取而代之的是,程式碼會編譯至參考它的每個專案中。 共用的專案可讓您撰寫由許多不同應用程式專案所參考的通用程式碼。 此程式碼會編譯成每個參考專案的一部分,並且可以包含編譯器指示詞,以協助將平台專用功能併入到共用程式碼基底中。 在 [參考管理員] 對話方塊的 [共用的專案] 索引標籤上,新增對共用專案的參考。

檔案參考

檔案參考是 Visual Studio 專案內容外部組件的直接參考。 您可以使用 [參考管理員] 對話方塊的 [瀏覽] 索引標籤來建立它們。 當您只有組件或元件時,請使用檔案參考,不要使用會建立檔案參考作為輸出的專案。