2009-10-05 25 views
2

由於在MSDN社會論壇建議, http://social.msdn.microsoft.com/Forums/en-US/netfxbcl/thread/ab59671a-f0a3-4182-ba5b-7fa17f0a6118?prof=requiredConfiguration.Save()在.net 3.5不部署/發佈模式工作

我關掉了在Visual Studio宿主進程,並驗證了更改保存到MyApp.exe.config文件,而不是MyApp.vhost.exe.config文件,當仍在Debug配置下運行時。但是,當我將應用程序的發佈配置部署到C:\ UAT \ MyApp \時,它不會保存對C:\ UAT \ MyApp \ Application Files \ MyAPP_1_0_0_0 \ MyApp.exe.config文件的更改。我檢查了文件權限並確保ReadOnly未被檢查MyApp.exe.config文件。

另外,我也試過SaveAs(persist \ MyApp_yyyymmdd.config)。在Visual Studio 2008(關閉虛擬主機)內以Debug模式運行時,它會在bin/Debug下創建'persist'文件夾並將文件保存在那裏。但是,C:\ UAT \ MyApp \中的已部署版本不會創建此類文件夾。我確保C:\ UAT下的所有文件夾都沒有設置爲ReadOnly。

我正在使用Visual Studio 2008.敬請關於此的任何幫助。

跟進: 在部署應用程序之前,我還確保安全設置爲來自項目屬性的'完全信任應用程序'。

回答

5

用戶設置的值通常會保存到用戶個人資料中的"user.config",尤其是已發佈的應用程序。 exe.config實際上並不打算在運行時進行編輯,因爲它回到了安裝(受系統保護)和文檔(用戶)問題,特別是對於非管理員。

檢查的地點,例如:

{用戶配置文件} \應用程序數據\本地{APPNAME} \ {APPNAME} {.exe_亂碼} \ user.config

+0

嗨馬克, 感謝您指出正確的方向。我發現最初加載配置後,任何連續的保存都將轉到{用戶配置文件} \ Application Data \ Local Settings \ Apps \ .... 當應用程序重新啓動時,它將從「user」中獲取上次保存的配置。配置」。 – Amit

+0

謝謝。我錯誤地試圖編輯正在運行的應用程序的.exe.config。 – xyz

相關問題