5

3 projeden oluşan bir çözüm var. Bir dağıtım projesi oluşturdum, sadece çözümümdeki projelerden birinin bağımlılıklarını içeriyor.Kurulum ve Dağıtım Projesine bağımlılıklar nasıl eklenir?

Şimdiye kadar yaptığım Kurulum ve Dağıtım projemde, "Uygulama Klasörü" ni Add -> Project Output'a sağ tıklattım. Sonra ana projemi bir açılır menüden seçtim ve "Birincil Çıkış" seçildim. Tamam'ı tıklattım ve projenin bağımlılıkları dağıtıma başarıyla dahil edildi.

Çözümümdeki diğer DLL'ler için aynı işlemi tekrarlamayı denedim, ancak bağımlılıklarını içermiyordu.

Her proje için tüm bağımlılıkları nasıl eklerim?

cevap

0

Bir Visual Studio kurulum projesi tarafından algılanan bağımlılıkların önerilere benzer olduğunu lütfen unutmayın. Yanlış pozitifler çok yaygın olduğu için onlara fazla güvenmemelisiniz.

Profesyonel bir yükleyici için doğru bağımlılıkları kendiniz tespit etmeli ve bunları projenize uygun biçimde eklemelisiniz. Örneğin, bazı bağımlılıklar, yükleyicinizin önkoşulu olarak eklenebilecek bir çalışma zamanının veya çerçevenin bir parçası olabilir.

Uygulamanızın bağımlılıklarının neler olduğunu çözemiyorsanız, bir dependency walker kullanmayı deneyebilirsiniz.

0

VS Kurulum projeleri bağımlılık yürüme kabiliyeti oldukça güçlüdür ve gerçekten doğrudan bağımlılık kontrolü ve ürün ikili paketlemesi için mükemmel bir yer. Yapısallık arttıkça, her bir DLL dosyasının hangi sürümünün referans alındığını doğrudan analiz etmenize izin verir, böylece referansları güncellemek için ihtiyacınız olan bilgilere sahip olursunuz. Ne yazık ki, sürüm bilgisi bağımlılıklara yüklenir ve kurulum projesi, arama yollarında uygun bir sürüm bulamazsa, hiçbir şey seçmeyebilir.

Yanlış pozitiflerle ilgili olarak, deneyimim o ağacın üzerinde gerçek bir kod yolu olup olmadığına bakılmaksızın herhangi bir ikili referansı getirecektir. Bu soruna bir çözüm, kodunuzu yeniden gözden geçirmektir (projeleri daha iyi bir şekilde detaylandırın).

Doğrudan proje referanslarını kullanmıyorsanız, kurulum projeleri bu bağımlılıkları getirmez. Karşılaştığın konu bu mu? Aksi halde, günlük ayrıntılarını açıp beklediğiniz referansları arardım. Hangi sürümü aradığını ve nerede aradığını ve neden hiçbir şey almadığını söylemelidir.