2013-07-01 45 views
3

當項目設置(項目>屬性在VS>設置選項卡)用於存儲用戶或應用程序設置它們存儲在assembly.dll.configassembly.exe.config文件,也嵌入到組件每次組件建造時間。爲什麼設置嵌入到程序集中?

部署完成後,用戶設置存儲在user.config文件中(這至少對於點擊一次部署是真實的,我不確定它是如何通過部署msi或使用標準安裝應用程序處理的)以及每當用戶更改時這是一個設置,它是在運行時存儲和回收新值的地方。

現在,所有有意義的事情,但我只是試圖刪除app.exe.config部署的應用程序文件,之後,應用程序將在啓動時崩潰,它不會工作,直到app.exe.config文件恢復。

如果是這種情況,並且配置文件丟失或磨損時應用程序無法使用嵌入式設置,首先嵌入設置有什麼意義,並且是否存在這些嵌入式設置可能會遇到的情況要使用的?

+0

這篇文章(以及它提供的鏈接)可以幫助你瞭解http://stackoverflow.com/questions/17272956/location-of-app-config-file-used-by-referenced-library-for-my -settings/17286006#17286006 – Chris

+0

設置值不被嵌入在一個組件中,只對它們的類​​型安全屬性。顯然,我們不明白爲什麼設置的默認值會導致代碼崩潰。 –

+0

對不起漢斯但你錯了就這一個,我用反射工具尋找到組件和值都在那裏...我會仔細檢查,明天... –

回答

0

如果創建一個單獨的組件的用戶控件,並在該程序集的設置,但你沒有這些設置複製到你的主執行程序的設置,那麼你的應用程序將無法找到它的配置文件這些設置在運行。但是,您的用戶控件將使用嵌入在程序集中的編譯後設置,並且不會崩潰;這是嵌入式值有幫助的一種情況。

相關問題