.Net 3.5中的Configuration.Save()在部署/发布模式下不起作用

时间:2009-10-05 04:45:26

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

正如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设置为“这是一个完全信任的应用程序”。

1 个答案:

答案 0 :(得分:5)

用户设置的值通常会保存到用户个人资料中的"user.config",尤其是已发布的应用。 exe.config实际上并不打算在运行时进行编辑,因为它返回到安装(受系统保护)vs文档(用户)问题,特别是对于非管理员。

检查以下位置:

  

{user profile} \ AppData \ Local {appname} \ {appname} .exe_ {gibberish} \ user.config