2

正如 msdn 社交论坛上的建议, http: //social.msdn.microsoft.com/Forums/en-US/netfxbcl/thread/ab59671a-f0a3-4182-ba5b-7fa17f0a6118?prof=required

我关闭了 Visual Studio 托管进程,并验证了当仍在调试配置下运行时更改已保存到 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。

另外,我还尝试了另存为(persist\MyApp_yyyymmdd.config)。在 Visual Studio 2008 中以调试模式运行时(虚拟主机已关闭),它会在 bin/Debug 下创建“persist”文件夹并将文件保存在那里。但是 C:\UAT\MyApp\ 中的部署版本不会创建这样的文件夹。我确保 C:\UAT 下的所有文件夹都没有设置为只读。

我正在使用 Visual Studio 2008。感谢任何帮助。

跟进:在部署应用程序之前,我还确保从项目属性中将安全设置为“这是一个完全信任的应用程序”。

4

1 回答 1

4

用户设置的值通常保存"user.config"在用户配置文件中,尤其是对于已发布的应用程序。exe.config 并不是真的打算在运行时进行编辑,因为它回到了安装(受系统保护)与文档(用户)的问题,尤其是对于非管理员。

检查位置,例如:

{用户配置文件}\AppData\Local{appname}\{appname}.exe_{gibberish}\user.config

于 2009-10-05T05:47:23.290 回答