【问题标题】:Configuration.Save() in .Net 3.5 does not work in Deploy/Release mode.Net 3.5 中的 Configuration.Save() 在部署/发布模式下不起作用
【发布时间】:2009-10-05 04:45:25
【问题描述】:

正如 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。感谢任何帮助。

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

【问题讨论】:

    标签: c# .net configuration save app-config


    【解决方案1】:

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

    检查位置,例如:

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

    【讨论】:

    • 嗨,马克,感谢您指出正确的方向。我发现最初加载配置后,任何后续保存都会转到 {user profile}\Application Data\Local Settings\Apps\.... 当应用程序重新启动时,它会从“user.config”中获取最后保存的配置.
    • 谢谢。我一直在错误地尝试编辑正在运行的应用程序的 .exe.config。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多