içindeki derlemeler için yapılandırma dosyaları Yapılandırma dosyasından yapılandırma ayarlarını okuması gereken bir .NET dll var. Genellikle, config dosyası DLL ile aynı dizine yerleştirilir. Ancak DLL dosyası GAC'ed ise yapılandırma dosyasını nasıl okuyabilirim, çünkü yalnızca GAC'de DLL dosyaları koyabiliyordum, yapılandırma dosyaları değil.GAC
GAC
cevap
Kullanıcının Dll'yi yapılandırması gerekiyor mu? Öyleyse, DLL, kendi yapılandırması değil, app.config dosyasındaki yapılandırma ayarlarını kullanmalıdır. App.config dosyası, uygulama ile aynı dizinde saklanmalıdır. Eğer değilse, o zaman birkaç farklı yoldan gidebilirsin. Dll dosyanızın onları bulabilmesi için machine.config dosyasında değişiklikler yapabilirsiniz. Bunu ben yapmam. Alternatif olarak, yapılandırmayı bir ayar sınıfında saklayabilirsiniz. Bunlar, yapılandırma yoluyla geçersiz kılınabilir, ancak varsayılanlarınız, öznitelikler aracılığıyla ayarlar sınıfı için oluşturulan kodda ayarlanır ve böylece bir yapılandırma dosyasının olmaması, varsayılanların tümü gerekli olduğunda Dll'nizi etkilemez.
Gac'ed dll uygulamasının yolundan okuyacaktır tvanfosson katılıyorum. Ama aynı zamanda bu yolla yolu dll bilgilendirmek olabilir:
System.Configuration.ExeConfigurationFileMap fileMap = new System.Configuration.ExeConfigurationFileMap();
fileMap.ExeConfigFilename = "THE PATH TO THE CONFIG";
System.Configuration.Configuration cfg =
System.Configuration.ConfigurationManager.OpenMappedExeConfiguration(fileMap, System.Configuration.ConfigurationUserLevel.None);
string thevalue=cfg.AppSettings.Settings[variable].Value;
Sen sadece Executable almak gerekir DLL beri AppDomain.CurrentDomain.BaseDirectory kullanımı tek başına yürütülmez yapabilirsiniz dosya dizini gibi
şey:
var appDomain = AppDomain.CurrentDomain.BaseDirectory;
string sFileName = appDomain.Replace("\\bin\\Debug", "");
sFileName = sFileName + "Config\\config.xml";
Üzgünüz, buraya ilk defa ileti gönderiyorum .. kod iyi biçimlendirilmemiş :( –
- 1. ASP.NET ve GAC
- 2. .NET'te GAC nedir?
- 3. Uzak sunucunun GAC
- 4. Referans olmayan GAC versiyonu 2010
- 5. Visual Studio başvurusu x64 GAC
- 6. GAC'nin en son sürümünü nasıl yükleyebilirim GAC
- 7. IOC bağımlılık enjeksiyon dağıtımı (bin? GAC?)
- 8. GAC (Global Assembly Cache) nerede bulunuyor? Faydalı Nedir?
- 9. .NET Core için herhangi bir GAC eşdeğeri var mı?
- 10. Bir HttpModule'ı GAC olmadan birden çok alt uygulama arasında paylaşma
- 11. GAC'ing 4.0 meclisleri
- 12. Bin
- 13. Bir .NET Hizmetinin Açığa Çıkması
- 14. Google Play Oyun Servisi - Unlocked Achievement Popup görüntülenmiyor
- 15. GAC'a yükleyin ve kayıt defterine kaydolun
- 16. "Dosya veya derleme 'xsp2' yüklenemedi" "Mono 2.10.8 ile yüklenemedi.
- 17. Görüntüleyici aracı
- 18. Neden GAC'deki tüm derlemeler MSIL olarak oluşturulmaz?
- 19. .NET derlemesinin GAC'de yüklü olup olmadığı nasıl belirlenir?
- 20. Gacutil ile vs 2008 konumu
- 21. MSBuild, tüm dolaylı başvuruları çıktı (bin) klasörüne otomatik olarak kopyalamak için nasıl yapılır?
- 22. DLL arama sırasına nasıl bir yol ekleyebilirim
- 23. COM Programı COM Interop için Kayıtlı bir .NET DLL Bul Nasıl?
- 24. COM .NET DLL GAC'de (REGDB_E_CLASSNOTREG) kaydetmiyor
- 25. .NET için ReSharper gezinti Çekirdek kaynakları yalnızca dizeleri gösterir: daha fazla impl'ye nasıl geçilir?
- 26. Iki konum gacutil.exe
- 27. Bir montajın tam adını alma
- 28. Microsoft.mshtml.dll yeniden dağıtım sorunları
- 29. F # Etkileşimli içinde FParsec çalıştırmaya çalışırken sorunlar
- 30. IIS: Web uygulamalarının ısınması
tvanfosson iyi cevap vardı ama bu daha uygun bir cevap olduğunu düşünüyorum. – Keith