Mengelola referensi dalam proyek

Sebelum Anda menulis kode terhadap komponen eksternal atau layanan terhubung, proyek Anda harus terlebih dahulu berisi referensi ke dalamnya. Referensi pada dasarnya adalah entri dalam file proyek yang berisi informasi yang dibutuhkan Visual Studio untuk menemukan komponen atau layanan.

Cara Anda menambahkan referensi bergantung pada jenis proyek untuk kode yang sedang Anda kerjakan:

  • Jika Anda melihat simpul Dependensi di Penjelajah Solusi, Anda dapat menggunakan menu konteks klik kanan untuk memilih Tambahkan Referensi Proyek.

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

    Anda juga dapat mengklik kanan simpul proyek dan memilih Tambahkan>Referensi Proyek.

  • Jika Anda melihat simpul Referensi di Penjelajah Solusi, Anda dapat menggunakan menu konteks klik kanan untuk memilih Tambahkan Referensi.

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

    Atau, klik kanan simpul proyek dan pilih Tambahkan>Referensi.

    Untuk informasi selengkapnya, lihat Cara: Menambahkan atau menghapus referensi.

Anda dapat menambahkan referensi ke jenis komponen dan layanan berikut:

  • Pustaka atau rakitan kelas .NET

  • Aplikasi UWP

  • Komponen COM

  • Rakitan atau pustaka kelas proyek lainnya dalam solusi yang sama

  • Proyek bersama

  • Layanan Web XML

Referensi aplikasi UWP

Platform Windows Universal (UWP) menyediakan platform aplikasi umum untuk setiap perangkat yang menjalankan Windows. Untuk mempelajari cara membuat aplikasi UWP, lihat Tutorial: Membuat aplikasi Platform Windows Universal pertama Anda di Visual Studio dengan XAML dan C#.

Referensi proyek

proyek Platform Windows Universal (UWP) dapat membuat referensi ke proyek UWP lain dalam solusi, atau ke proyek atau biner Windows 8.1, asalkan proyek-proyek ini tidak menggunakan API yang telah tidak digunakan lagi di Windows 10 dan yang lebih baru. Untuk informasi selengkapnya, lihat Berpindah dari Windows Runtime 8 ke UWP.

Jika Anda memilih untuk menargetkan ulang proyek Windows 8.1 ke Windows 10 dan yang lebih baru, lihat Port, migrasi, dan tingkatkan proyek Visual Studio.

Tip

Untuk informasi tentang cara membuat dan membangun aplikasi UWP baru untuk Windows 10 dan Windows 11, lihat Memilih versi UWP.

Referensi SDK Ekstensi

Aplikasi Visual Basic, C#, C++ dan JavaScript Platform Windows Universal (UWP) dapat mereferensikan SDK Ekstensi yang menargetkan Windows 8.1, selama SDK Ekstensi ini tidak menggunakan API yang tidak digunakan lagi di Windows 10 dan yang lebih baru. Periksa situs vendor Extension SDK untuk mengetahui apakah situs tersebut dapat dirujuk oleh aplikasi UWP.

Jika Anda menentukan bahwa SDK Ekstensi yang dirujuk oleh aplikasi Anda tidak didukung, maka Anda perlu melakukan langkah-langkah berikut:

  1. Lihat nama proyek yang menyebabkan kesalahan. Platform yang ditargetkan proyek Anda dicatat dalam tanda kurung di samping nama proyek. Misalnya, MyProjectName (Windows 8.1) berarti proyek Anda MyProjectName menargetkan versi platform Windows 8.1.

  2. Buka situs vendor yang memiliki SDK Ekstensi yang tidak didukung, dan instal versi SDK Ekstensi dengan dependensi yang kompatibel dengan versi platform yang ditargetkan proyek Anda.

    Catatan

    Salah satu cara untuk mengetahui apakah Extension SDK memiliki dependensi pada SDK Ekstensi lainnya adalah dengan melihat di Reference Manager. Mulai ulang Visual Studio, buat proyek aplikasi C# UWP baru, lalu klik kanan proyek dan pilih Tambahkan Referensi. Buka tab Windows , lalu sub-tab Ekstensi , dan pilih SDK Ekstensi. Lihat panel kanan di Manajer Referensi. Jika memiliki dependensi, mereka akan terdaftar di sana.

    Penting

    Jika proyek Anda menargetkan Windows 10 secara khusus, dan SDK Ekstensi yang diinstal pada langkah sebelumnya memiliki dependensi pada Paket Runtime Microsoft Visual C++, versi Paket Runtime Microsoft Visual C++ yang kompatibel dengan Windows 10 adalah v14.0, dan diinstal dengan Visual Studio.

  3. Jika SDK Ekstensi yang Anda instal pada langkah sebelumnya memiliki dependensi pada SDK Ekstensi lainnya, buka situs vendor yang memiliki dependensi, lalu instal versi dependensi ini yang kompatibel dengan versi platform yang ditargetkan proyek Anda.

  4. Mulai ulang Visual Studio dan buka aplikasi Anda.

  5. Klik kanan pada node Referensi atau Dependensi dalam proyek yang menyebabkan kesalahan, lalu pilih Tambahkan Referensi.

  6. Pilih tab Windows lalu subtab Ekstensi , hapus centang pada kotak centang untuk SDK Ekstensi lama, lalu centang kotak centang untuk SDK Ekstensi baru. Pilih OK.

Menambahkan referensi pada waktu desain

Saat Anda membuat referensi ke rakitan di proyek Anda, Visual Studio mencari perakitan di lokasi berikut:

  • Direktori proyek saat ini. (Anda dapat menemukan rakitan ini dengan menggunakan Telusuri tab.)

  • Direktori proyek lain dalam solusi yang sama. (Anda dapat menemukan rakitan ini di Tab Proyek.)

Catatan

  • Semua proyek berisi referensi tersirat ke mscorlib.
  • Semua proyek berisi referensi tersirat ke System.Core, bahkan jika System.Core dihapus dari daftar referensi.
  • Proyek Visual Basic berisi referensi tersirat ke Microsoft.VisualBasic.

Referensi ke komponen bersama pada waktu proses

Pada waktu proses, komponen harus berada di jalur output proyek atau di Global Assembly Cache (GAC). Jika proyek berisi referensi ke objek yang tidak berada di salah satu lokasi ini, Anda harus menyalin referensi ke jalur output proyek saat membuat proyek. Properti CopyLocal menunjukkan apakah salinan ini harus dibuat. Jika nilainya True, referensi disalin ke direktori proyek saat Anda membangun proyek. Jika nilainya False, referensi tidak disalin.

Jika Anda menyebarkan aplikasi yang berisi referensi ke komponen kustom yang terdaftar di GAC, komponen tidak akan disebarkan dengan aplikasi, terlepas dari pengaturannya CopyLocal . Di versi Visual Studio yang lebih lama, Anda dapat mengatur CopyLocal properti pada referensi untuk memastikan bahwa rakitan disebarkan. Sekarang, Anda harus menambahkan rakitan secara manual ke folder \Bin. Tindakan ini menempatkan semua kode kustom di bawah pengamatan, sehingga mengurangi risiko penerbitan kode kustom yang tidak Anda kenal.

Secara default, CopyLocal properti diatur ke False jika assembly atau komponen berada di cache assembly global atau merupakan komponen kerangka kerja. Jika tidak, nilai diatur ke True. Referensi proyek-ke-proyek selalu diatur ke True.

Mereferensikan proyek atau rakitan yang menargetkan versi .NET yang berbeda

Anda dapat membuat aplikasi yang mereferensikan proyek atau rakitan yang menargetkan versi .NET yang berbeda. Misalnya, Anda dapat membuat aplikasi yang menargetkan .NET Framework 4.6, yang mereferensikan rakitan yang menargetkan .NET Framework 4.5. Jika Anda membuat proyek yang menargetkan versi .NET yang lebih lama, Anda tidak dapat mengatur referensi dalam proyek tersebut ke proyek atau rakitan yang menargetkan versi yang lebih baru.

Untuk informasi selengkapnya, lihat Gambaran umum penargetan kerangka kerja.

Project referensi ke proyek

Referensi proyek-ke-proyek adalah referensi ke proyek yang berisi rakitan; Anda menambahkan referensi proyek dengan menggunakan tab Proyek dari kotak dialog Manajer Referensi. Visual Studio dapat menemukan rakitan saat diberi jalur ke proyek.

Ketika Anda memiliki proyek yang menghasilkan assembly, Anda harus mereferensikan proyek dan tidak menggunakan referensi file. Keuntungan dari referensi proyek-ke-proyek adalah menciptakan dependensi antara proyek dalam sistem build. Proyek dependen dibangun jika telah berubah sejak terakhir kali proyek referensi dibangun. Referensi file tidak membuat dependensi build, sehingga dimungkinkan untuk membangun proyek referensi tanpa membangun proyek dependen, dan referensi dapat menjadi usang. (Artinya, proyek dapat mereferensikan versi proyek yang dibuat sebelumnya.) Ini dapat mengakibatkan beberapa versi DLL tunggal diperlukan di direktori bin , yang tidak dimungkinkan. Ketika konflik ini terjadi, pesan muncul, seperti "Peringatan: dependensi 'file' dalam proyek 'proyek' tidak dapat disalin ke direktori eksekusi karena akan menimpa referensi 'file.'" Untuk informasi selengkapnya, lihat Memecahkan masalah referensi yang rusak dan Cara: Membuat dan menghapus dependensi proyek.

Catatan

Referensi file alih-alih referensi proyek-ke-proyek dibuat jika versi target dari .NET Framework dari satu proyek adalah versi 4.5, dan versi target proyek lainnya adalah versi 2, 3, 3.5, atau 4.0.

Referensi proyek bersama

Tidak seperti kebanyakan jenis proyek lainnya, proyek bersama tidak memiliki output biner. Sebaliknya, kode dikompilasi ke dalam setiap proyek yang mereferensikannya. Proyek Bersama memungkinkan Anda menulis kode umum yang dirujuk oleh banyak proyek aplikasi yang berbeda. Kode ini dikompilasi sebagai bagian dari setiap proyek referensi dan dapat menyertakan arahan kompilator untuk membantu menggabungkan fungsionalitas khusus platform ke dalam basis kode bersama. Tambahkan referensi ke proyek bersama pada tab Proyek Bersama dari kotak dialog Manajer Referensi.

Referensi file

Referensi file adalah referensi langsung ke rakitan di luar konteks proyek Visual Studio. Anda membuatnya dengan menggunakan tab Telusuri dari kotak dialog Manajer Referensi. Gunakan referensi file saat Anda hanya memiliki perakitan atau komponen, dan bukan proyek yang membuatnya sebagai output.