2008-09-02 9 views
7

Birkaç projeden oluşan bir asp.net uygulaması için yerelleştirme üzerinde çalışıyorum.Bir çözümde birden çok projeden kaynak dosyaları başvurulan

Bunun için, bu projelerin çoğunda kullanılan bazı dizeler vardır. Doğal olarak, her projede kaynak dosyasının yalnızca bir kopyasını bulundurmayı tercih ederim.

Kaynak dosyalarında bir ad alanı olmadığı için (en azından anlatabildiğim kadarıyla), normal sınıflar gibi erişilemezler.

Başka bir projede, aynı çözüm içinde resx dosyalarını referans almanın bir yolu var mı?

cevap

8

sadece bir sınıf kütüphanesi projesi oluşturmak orada kaynak dosyası eklemek ve sonra söz konusu montaj başvurabilirsiniz ortak kaynaklar.

5

Bu çözümden bir assembley info.cs dosyasını tüm projelerde bir çözümde paylaşmak için kullanmıştım.

Her bir proje/sınıf kitaplığına bağlı bir dosya oluşturun. Sadece tek bir kopya olacak ve her projenin derleme zamanında bağlantılı bir dosya üzerinden kod referansı olacaktır. Kodu çoğaltmaksızın ortak olmayan kamu kaynaklarını çözmek için çok zarif bir çözüm.

<Compile Include="path to shared file usually relative"> 
    <Link>filename for Visual Studio To Dispaly.resx</Link> 
</Compile> 

sonra resx dosyalarına gerçek yolları ile yolları yerine bir csproj dosyasının complile madde grubuna bu kodu eklemek ve bunları açmak mümkün büyük önem taşımaktadır.

Tek bir proje dosyası için bunu yaptıktan sonra, kopya dosyasını & kopyalamanız gerekir, bağlı dosyayı csproj'ı kesmek zorunda kalmadan diğer projelere yapıştırın.

+0

İyi olan! Aynı zamanda, VS'nin “Derleme” yi “Gömülü Kaynak” dan Oluştur eylemini değiştirmek zorunda kaldım. Böylece VS, XML'i derlemeyi denemedi. – piedar