正如msdn社交论坛上所建议的, http://social.msdn.microsoft.com/Forums/en-US/netfxbcl/thread/ab59671a-f0a3-4182-ba5b-7fa17f0a6118?prof=required
我关闭了Visual Studio托管过程,并确认在仍在Debug配置下运行时,更改将保存到MyApp.exe.config文件而不是MyApp.vhost.exe.config文件。但是,当我将具有Release配置的应用程序部署到C:\ UAT \ MyApp \时,它不会将更改保存到C:\ UAT \ MyApp \ Application Files \ MyAPP_1_0_0_0 \ MyApp.exe.config文件。我检查了文件权限,并确保没有为MyApp.exe.config文件检查ReadOnly。
此外,我还尝试过SaveAs(persist \ MyApp_yyyymmdd.config)。在Visual Studio 2008内部以调试模式运行(关闭vhosting)时,它会在bin / Debug下创建“persist”文件夹并将文件保存在那里。但是,C:\ UAT \ MyApp \中部署的版本不会创建此类文件夹。我确保C:\ UAT下的所有文件夹都没有设置为ReadOnly。
我正在使用Visual Studio 2008.感谢您的任何帮助。
跟进: 在部署应用程序之前,我还确保安全性已从Project Properties设置为“这是一个完全信任的应用程序”。
答案 0 :(得分:5)
用户设置的值通常会保存到用户个人资料中的"user.config"
,尤其是已发布的应用。 exe.config实际上并不打算在运行时进行编辑,因为它返回到安装(受系统保护)vs文档(用户)问题,特别是对于非管理员。
检查以下位置:
{user profile} \ AppData \ Local {appname} \ {appname} .exe_ {gibberish} \ user.config