Farklı bir derlemeden işlevleri kullanan bir Web.Api uygulamasına sahibim. Bu derleme için bazı dizeleri sakladığım bir .config dosyası oluşturdum.dll.config geçici asp.net dosyaları klasörüne kopyalanmadı
O dizeleri birini getir gerektiğini Aşağıdaki kodu kullanıyorum: Geçici asp.net dosyalarına
private static string LogUrl = ConfigurationManager.OpenExeConfiguration(Assembly.GetExecutingAssembly().Location).AppSettings.Settings["WebApi-LogUrl"].Value.ToString();
Assembly.GetExecutingAssembly().Location
puan, (C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Geçici ASP.NET Dosyaları \ root \ dc2fa3d4 \ 834ee436 \ assembly \ dl3 \ cd068512) ancak dll.config dosyam orada kopyalanmadı. Sonuç olarak, uygulamada hata ayıklanamıyorum ve aynı zamanda kodu gerçek bir IIS sunucusunda çalıştırırken null değeri veriyor.
Ayarı almadan hemen önce geçici bir klasöre erişebiliyorsam geçici bir klasörü tutabiliyorum ve orada dll.config dosyamı kopyaladığımda tüm işlemler çalışıyor, ancak bunu otomatik olarak nasıl yapmalıyım.
ben olarak ayarlanmış benim dll.config dosyası için özelliklere sahip "eylemi oluşturun: içerik", "çıkış dizinine kopyalayın: Her zaman"
Herhangi bir yardım mutluluk duyacağız, şimdi saatlerce googled var. !
// The dllPath can't just use Assembly.GetExecutingAssembly().Location as ASP.NET doesn't copy the config to shadow copy path
var dllPath = new Uri(Assembly.GetExecutingAssembly().GetName().CodeBase).LocalPath;
var dllConfig = ConfigurationManager.OpenExeConfiguration(dllPath);
// Get the appSettings section
var appSettings = (AppSettingsSection) dllConfig.GetSection("appSettings");
return appSettings.Settings;
anahtar vardır: :(
Saygılarımızla, Peter Larsson
Aha, bunu kontrol etmeliyim ... öneri için teşekkürler! –
Benim için çalıştı. Bahşiş için teşekkürler! –
Bu bana çok yardımcı oldu. Ayrıca CodeNase özelliği de sınıf Meclisi'nin bir özelliği olarak GetName() çağrısının işe yaramaz olduğunu fark ettim. – sluki