嗯,這個問題與其他標題略有不同的人有點不同。C#DLL配置文件不存在
我將一個配置文件添加到我的DLL中,該DLL將從網站和控制檯應用程序中使用。 我從我的web應用程序測試DLL。
當我構建DLL時,我可以在bin\debug
文件夾中看到我的MyApp.dll.config
。
然而,當我嘗試從DLL這種方式讀取設置:
var appConfig = ConfigurationManager.OpenExeConfiguration(Assembly.GetExecutingAssembly().Location);
文件未找到。 我知道這與應用程序正在執行的位置有關,因爲Assembly.GetExecutingAssembly().Location
返回Framework\v4.0.30319\Temporary ASP.NET Files\root\...
中的路徑,而AppDomain.CurrentDomain.BaseDirectory
返回另一個完全不同的路徑。
那麼,我在做什麼錯了?在配置文件被複制到正在運行應用程序的實際位置時,會有一些配置丟失?
非常感謝您的幫助!
嗯,是因爲我正在讀它「手動」 – sabotero 2014-09-02 08:06:20
你正在閱讀它「手動」,但它不在那裏。正如我所說的那樣,還有Thorsten,你必須將它們放在父級的配置中,或者將它們存儲在其他地方。 – Noctis 2014-09-02 08:07:56
說得有點不同:只有應用程序纔會讀取配置文件 - 它只會讀取自己的配置文件。 – 2014-09-02 08:11:20