Kami memiliki banyak perpustakaan internal yang ingin kami bagikan antar proyek di dalam perusahaan. Ini adalah beberapa persyaratan:
- sumber perpustakaan disimpan dalam repositori yang terpisah dari proyek akhir
- proyek akhir termasuk perpustakaan melalui NuGet
- harus mungkin untuk dengan mudah memeriksa kode sumber untuk perpustakaan yang diberikan saat mengerjakan proyek akhir
Menyiapkan repositori NuGet pribadi kami bukan masalah, tetapi mengelola sumber adalah. Kami mencoba untuk mengekspos sumber melalui server sumber dan agak bekerja, tetapi tidak cukup: VS mendownload sumber saat debugging kode eksternal, tetapi tidak ketika Anda mencoba untuk menavigasi ke definisi / implementasi. Pada dasarnya, Anda hanya dapat pergi ke kode sumber saat debugging, yang tidak cukup yang kita butuhkan.
Jadi, pertanyaannya adalah:
- cara apa yang ada untuk menyediakan akses ke kode sumber perpustakaan internal tanpa perlu memiliki kode dalam repo / solusi yang sama
- apakah ada cara untuk mengatur combo server Symbol / NuGet feed sehingga VS menggunakan simbol untuk navigasi, bukan hanya untuk debugging?
Menggunakan ReSharper / add-in lainnya adalah sebuah opsi.
c#
source-code
closed-source
nuget
Dyppl
sumber
sumber
Jawaban:
Apa yang harus bekerja adalah hanya memeriksa kode sumber untuk paket NuGet dan membuka solusi dalam contoh terpisah dari Visual Studio.
Visual Studio memiliki trik yang rapi untuk beralih antar kode dalam keadaan terbuka dengan mengerjakan apa yang telah Anda rujuk. Pertama kali ini terjadi pada saya ketika saya sedang debug, adalah sebuah wahyu.
Masalah utama yang Anda hadapi adalah memastikan kode yang diperiksa untuk paket dependen mewakili versi yang sama dengan referensi NuGet Anda di proyek utama. Bukan masalah jika Anda mengikuti kebijakan selalu membangun terhadap versi terbaru dari paket Anda.
Manfaat lain dari pendekatan ini adalah bahwa jika paket perlu diubah, Anda dapat melakukan perubahan di sana dan kemudian.
sumber
Mungkin Anda dapat menggunakan https://github.com/GitTools/GitLink . Itu menambahkan tautan dalam file pdb yang menunjuk ke repositori sehingga Visual Studio akan mengambil kode sumber dari sana - dan kemudian Anda hanya perlu memasukkan file pdb dalam paket nuspec Anda dan tidak memerlukan server sumber.
sumber
Jadi ini bukan solusi yang sempurna, tetapi Anda menyebutkan bahwa Anda bisa menggunakan Resharper; dengan dotPeek dan resharper Anda dapat menavigasi ke pembongkaran kode asli, itu yang saya gunakan di tempat kerja, di mana kami memiliki pengaturan yang sama dengan Anda.
Saya menemukan kombinasi Symbol Server yang Anda sebutkan dan meramban pembongkaran biasanya cukup untuk mencari tahu apa yang terjadi.
Semoga itu bisa membantu.
Sunting: Setelah membaca kembali pertanyaan Anda, saya sadar Anda secara khusus meminta untuk dapat menelusuri kode sumber, yang ini bukan. Meski begitu semoga bermanfaat bagi seseorang.
sumber