c#应用程序配置设置窗口8 - 访问tmp文件被拒绝

时间:2012-11-14 13:04:44

标签: c# settings configurationmanager

此问题最初发布为"加载配置文件时出错:访问路径c:\ Program Files(x86)\ ...拒绝",但我没有取得多大成功溶液

我的应用程序是在Windows 7上编写的,它是用Visual Studio 2010编写的32位应用程序。当我尝试在Windows 8系统上部署此应用程序时,应用程序在form_Load期间失败,并显示有关访问的错误到EXE目录中的tmp文件。我不直接创建此临时文件,但它的名称与C#GetTempFileName方法生成的名称一致。错误消息中还引用了EXE配置文件(MyApp.exe.config)的名称。

我使用ConfigurationManager在启动时存储我的所有应用程序设置,因此我猜测它与此有关。如果我在Windows 8系统上构建应用程序,它在Windows 8系统上运行正常,但如果在Windows 7系统上部署,则会生成相同的错误。我还不知道究竟是什么行代码导致错误,但调用归结为

System.Configuration.Configuration config =
            ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

config.AppSettings.Settings.Add(settingName, settingValue);

config.Save();

ConfigurationManager.RefreshSection("appSettings");

Windows 7和8系统都是64位,但应用程序是32位。提前感谢您解决此问题的任何建议。

我使用Settings类来处理配置数据,TEMP变量就是我期望的,我的用户\ AppSettings \ Local \ Temp。

1 个答案:

答案 0 :(得分:2)

遇到的问题出现在Windows 8的评估版上,这就是可用的。在许可版本的Windows 8 Pro上运行该应用程序,它可以很好地工作。

感谢您的回复。