在我的C#窗体应用程序(在VS2010中创建,使用.NET 4.0)我使用的应用程序设置存储的输出路径。
此前该设置配置了用户范围,但我不得不将范围更改为应用程序。
这样做之后,我现在得到的形式开始了一个无法识别的配置节userSettings错误(注意程序已与设定的范围设置为用户之前执行):
InnerException: System.Configuration.ConfigurationErrorsException
Message=Unrecognized configuration section userSettings. (C:\Documents and Settings\Administrator\Local Settings\Application Data\CallCenterForm\CallCenterForm.vshost.exe_StrongName_bplf30wziudnpq0knzaacfuyomd5rv45\1.0.0.0\user.config line 3)
Source=System.Configuration
BareMessage=Unrecognized configuration section userSettings.
Filename=C:\Documents and Settings\Administrator\Local Settings\Application Data\CallCenterForm\CallCenterForm.vshost.exe_StrongName_bplf30wziudnpq0knzaacfuyomd5rv45\1.0.0.0\user.config
所以做了一些浏览后,这似乎是在系统上仍然存在的旧user.config文件引起的,导致程序读取它,并抛出一个错误(我不知道实际的根本问题是什么)。我还可以确认的是,当我删除该文件的问题消失。
这让我想起我的问题,是有办法,我可以改变程序,以便它不会读取旧user.config文件,因为手动删除它的程序已在生产上的多个系统并不理想。
道歉,如果这已经覆盖了,但我无法找到答案。
在情况下,它是有帮助的,这里是我的App.config文件的内容:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="CallCenterForm.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</sectionGroup>
</configSections>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0"/>
</startup>
<applicationSettings>
<CallCenterForm.Properties.Settings>
<setting name="saved_output_dir" serializeAs="String">
<value>c:\</value>
</setting>
</CallCenterForm.Properties.Settings>
</applicationSettings>
</configuration>
我今天碰见这个错误我自己。解决的办法是进入项目的属性大会信息对话,推进装配和文件版本信息(例如:1.0.0.0 1.0.1.0到),保存修改,并重新生成应用程序。这将导致编译器重新评估的配置,并导致从创建和读取对应于新版本的新user.config文件切莫应用由于有被在新版本中没有用户设置。
App.config中是如何用它来看看当有user.config,以及什么样的?我猜你需要还声明<sectionGroup name="userSettings" ... >
它曾经声明的方式。
您可以通过导航到用户的设置被保存为您的应用程序的当前目录修复错误。这将是%SYSTEM%\用户\ your_user \应用程序数据\本地\微软\ YourApp.vshost。###### \版本。或删除user.config文件,清理您的解决方案,并全部重新生成。这应该可以解决这个问题。
我遇到过同样的问题。我不得不清理和重建方案。这解决了这个问题。