Saya memiliki proyek Visual Studio 2008 C # / .NET 3.5 dengan tugas membangun posting untuk ZIP isinya. Namun saya menemukan bahwa saya juga mendapatkan file rakitan yang direferensikan .pdb (debug) dan .xml (dokumentasi) di direktori output saya (dan ZIP).
Misalnya, jika MyProject.csproj mereferensikan YourAssembly.dll dan ada file YourAssembly.xml dan YourAssembly.pdb di direktori yang sama dengan DLL, mereka akan muncul di direktori keluaran saya (dan ZIP).
Saya dapat mengecualikan * .pdb saat membuat ZIP tetapi saya tidak dapat mengecualikan file * .xml karena saya memiliki file penerapan dengan ekstensi yang sama.
Apakah ada cara untuk mencegah proyek menyalin file PDB dan XML perakitan yang direferensikan?
sumber
Saya ingin dapat menambah dan menghapus rakitan yang direferensikan dalam aplikasi utama saya sambil menghindari kebutuhan untuk mempertahankan file mana yang perlu saya hapus atau kecualikan.
Saya terus
Microsoft.Common.targets
mencari sesuatu yang akan berhasil dan menemukanAllowedReferenceRelatedFileExtensions
properti itu. Ini default.pdb; .xml
jadi saya secara eksplisit mendefinisikannya dalam file proyek saya. Tangkapannya adalah Anda memerlukan sesuatu (spasi tidak mencukupi) jika tidak maka masih akan menggunakan default.sumber
Anda dapat menambahkan perintah peristiwa Post Build yang mirip dengan
del "$(TargetDir)YourAssembly*.xml", "$(TargetDir)YourAssembly*.pdb"
sumber
Ini adalah pertanyaan yang agak lama, tetapi karena tidak ada jawaban tentang cara mematikan pembuatan file PDB dan XML melalui UI, saya pikir itu harus ada di sini untuk kelengkapan.
Dalam Visual Studio 2013: di properti proyek, di bawah tab kompilasi, hapus centang "Hasilkan file dokumentasi XML", lalu klik "Opsi Kompilasi Lanjutan" di bawahnya dan ubah "Hasilkan info debug" menjadi "Tidak ada", dan itu akan berhasil.
sumber
pdb
danxml
file.Jawaban saya mungkin sepele sekarang tetapi saya ingin membagikan skrip BAT yang saya gunakan untuk menghapus file xml jika ada dll yang sesuai untuknya. Ini berguna jika Anda hanya ingin membersihkan folder output dan memiliki file xml lain yang tidak ingin dihapus.
Pemakaian:
Saya membutuhkan waktu satu jam untuk menyelesaikan pekerjaan sederhana ini (berkat hal-hal "perluasan tertunda") dengan semua jenis pencarian di sana-sini. Semoga bisa membantu pemula BAT lainnya seperti saya.
sumber
Saya tidak terlalu beruntung dengan jawaban yang lain, akhirnya saya menemukan cara melakukan ini dalam implementasi saya dengan menggunakan perintah "Hapus" bawaan , tampaknya ada cara khusus yang Anda perlukan untuk mengimplementasikan wildcard , ini sedikit bernuansa , inilah semua yang Anda butuhkan untuk dimasukkan ke dalam "CSPROJ" ( TargetDir adalah variabel bawaan , disertakan secara otomatis) di bawah tag "Proyek":
Saya juga mengalami masalah dengan berbagai folder khusus bahasa yang sedang dibuat, jika Anda memiliki masalah itu juga, Anda juga dapat menghapus folder khusus bahasa yang tidak digunakan. Saya telah memilih untuk hanya memicu ini di bawah jenis build "Rilis":
sumber
Jika Anda hanya ingin mengecualikan file XML (katakanlah rilis debug) Anda bisa melakukan sesuatu seperti ini:
Pada dasarnya, setiap ekstensi (dipisahkan oleh titik koma) yang terdaftar akan dikecualikan.
sumber