Saat menambahkan referensi ke sebuah assembly yang terletak di dalam direktori solusi, adakah cara untuk menambahkannya secara relatif, sehingga ketika check in dan out dari repositori itu direferensikan dalam proyek dengan benar?
Saat menambahkan referensi ke sebuah assembly yang terletak di dalam direktori solusi, adakah cara untuk menambahkannya secara relatif, sehingga ketika check in dan out dari repositori itu direferensikan dalam proyek dengan benar?
Jawaban:
Untuk memperluas komentar asli Pavel Minaev - GUI untuk Visual Studio mendukung referensi relatif dengan asumsi bahwa .sln Anda adalah root dari referensi relatif. Jadi, jika Anda memiliki solusi C:\myProj\myProj.sln
, referensi apa pun yang Anda tambahkan di subfolder C:\myProj\
otomatis ditambahkan sebagai referensi relatif.
Untuk menambahkan referensi relatif di direktori terpisah, seperti C:/myReferences/myDLL.dll
, lakukan hal berikut:
Edit <HintPath> menjadi sama dengan
<HintPath>..\..\myReferences\myDLL.dll</HintPath>
Ini sekarang referensi C:\myReferences\myDLL.dll
.
Semoga ini membantu.
Ya, buat saja direktori dalam solusi Anda seperti lib /, lalu tambahkan dll Anda ke direktori itu di sistem file dan tambahkan ke dalam proyek (Add-> Existing Item-> etc). Kemudian tambahkan referensi berdasarkan proyek Anda.
Saya telah melakukan ini beberapa kali di bawah svn dan di bawah cvs.
Di VS 2017 otomatis. Jadi Add Reference
seperti biasanya.
Perhatikan bahwa di Reference Properties
jalur absolut ditampilkan, tetapi .vbproj/.csproj
relatif digunakan.
<Reference Include="NETnetworkmanager">
<HintPath>..\..\libs\NETnetworkmanager.dll</HintPath>
<EmbedInteropTypes>True</EmbedInteropTypes>
</Reference>
Mungkin, cara termudah untuk mencapai hal ini adalah dengan menambahkan referensi ke assembly dan kemudian (secara manual) menambal representasi tekstual referensi dalam file proyek Visual Studio yang sesuai (ekstensi .csproj) sehingga menjadi relatif.
Saya telah melakukan ini berkali-kali di VS 2005 tanpa masalah.
Saya mungkin turun di sini, tetapi tampaknya jawabannya cukup jelas: Lihat jalur referensi di properti proyek. Dalam pengaturan kami, saya menambahkan folder repositori umum kami, ke jendela GUI jalur referensi, seperti itu
Dengan cara itu saya dapat menyalin dll saya (siap untuk dipublikasikan) ke folder ini dan setiap pengembang sekarang mendapatkan DLL yang diperbarui setiap kali membangun dari folder ini.
Jika dll ditemukan dalam Solusi, pembuat harus memprioritaskan versi lokal daripada versi tim yang diterbitkan.
Seperti yang disebutkan sebelumnya, Anda dapat mengedit .csproj
file proyek Anda secara manual untuk menerapkannya secara manual.
Saya juga memperhatikan bahwa Visual Studio 2013 mencoba menerapkan jalur relatif ke jalur petunjuk referensi, mungkin karena upaya untuk membuat file proyek lebih portabel.