Bin

2010-04-27 13 views
8
'da GAC ​​Kurulumu İçerir

Bir GAC DLL dosyasının nasıl referans alınacağı konusunda herhangi bir fikriniz var mı?Bin

Sorunum, sürekli olarak GAC'ye kendini kaydeden bir 3. parti DLL kullanıyorum ve bunu projemde kullandığımda, bunu gac'dan okuyor ve dağıtırken her zaman unutuyorum. Bin/Başvurular klasöründe bulunmadığından DLL'leri ekleyin.

Visual Studio, GAC yerine DLL eklemek için zorlamak için zaten?

cevap

7

Montaj referansını sağ tıklayın, özellikleri seçin ve "Yerel Kopyala" seçeneğini true olarak değiştirin. Yani yalnızca GAC'd montaj eğer bir referans seviyesi derin çalışır True

+9

Uyarı: Bu geçiş değil! Eğer MyExe, 'MyLib' referansları' DllInGac' ı referanslarsa, 'MyLib' yerel olarak kopyalanacaktır, ancak * GAC'daysa * bağımlılıkları' MyExe'ye kopyalanmayacaktır. –

5

Referanslarınızdaki dll'yi seçin ve özellikler penceresinde CopyLocal = true değerini ayarlayın.

2

içine montaj kopyalayıp Kopyala oluşturulmasına yol açacaktır. Örneğin, GAC'd topluluğuna referans veren bir projeniz varsa ve bu proje web projeniz tarafından başvuruda bulunuyorsa, o zaman evet iken GAC'd grubu ilk projenin bin klasörüne kopyalanacaktır, ancak Web projenizin bin klasörüne kopyalanmalıdır. Daha sonra çözüm, web projesinde GAC'd aksamına bir referansı doğrudan ayarlamak ve Yerel Kopyala'yı belirtmektir. Web projesi bu durumda referansı doğrudan kullanmasa da, web uygulamasının bin klasörüne kopyalayacaktır.

12

Kopya Local'e yerel özelliği Referans seçme yerleştirme dizinine

+2

Çözüm, özellikle kod temizleme araçları devreye girdiğinde tehlike ile doludur. Eğer Resharper gibi bir şey size bir referansın “gerekli değil” olduğunu söylerse (büyük proje ekibini düşünün) ve bu referanslar temizlendiğinde, bire dönüşünüz demektir. – Shiv

İlgili konular