读取配置部分失败

ArB*_*rBR 2 .net app-config

我遇到了一些应用程序的问题.当我在本地磁盘上执行它时,一切都是正确的,但是当我尝试从共享资源(Z:\ resource\TheApplication.exe)执行相同的应用程序时,我收到以下错误:

Error occurred creating the configuration section handler for DOMAIN/DomainUserInfo: Request failed
Run Code Online (Sandbox Code Playgroud)

尝试读取时出现错误自定义栏目的配置文件:

public static class AppConfigFile {
    public static IDomainUserInfo DomainUserInfo {
        get {
            if (_domainUserInfo == null) {
                _domainUserInfo = (DomainUserInfo)ConfigurationManager.GetSection(Environment.UserDomainName + @"/DomainUserInfo");         
            } return _domainUserInfo as IDomainUserInfo;
        }
    }
}
public class DomainUserInfo : ConfigurationSection, IDomainUserInfo {
    [ConfigurationProperty("SomeConfiguration", IsRequired = true, DefaultValue = "")]
    public string SomeConfiguration { get { return (string)base["SomeConfiguration"]; } }    

    [ConfigurationProperty("OtherConfiguration", IsRequired = true, DefaultValue = "")]
    public string OtherConfiguration { get { return (string)base["OtherConfiguration"]; } }    
}
Run Code Online (Sandbox Code Playgroud)

配置文件如下所示:

<configuration>
  <configSections>
    <sectionGroup name="THE_DOMAIN" type="System.Configuration.NameValueSectionHandler, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
      <section name="DomainUserInfo" type="NameSpace.Other.DomainUserInfo,NameSpace.Other" requirePermission="false"/>
    </sectionGroup>
  </configSections>

    <THE_DOMAIN>
        <DomainUserInfo SomeConfiguration="SomeValue" OtherConfiguration="OtherValue"></DomainUserInfo>
    </THE_DOMAIN>
</configuration>
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

谢谢.

And*_*iuk 7

您所描述的问题是由.NET 4.0的应用程序配置功能中的错误引起的.

编辑

由于重新设计了Microsoft Connect网站,因此自Visual Studio 2012发布以来,大致无法链接到bug .我无法再找到新的Microsoft Connect上的缺陷,也不记得它的编号.

我唯一能找到的是,该错误的链接仍然存在于Google的缓存中.

Bug在Google缓存中输入

作为一项解决方法,我帮助我使用代码打开应用程序配置:

configuration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
Run Code Online (Sandbox Code Playgroud)

然后使用以下代码阅读自定义部分:

CustomSection1 customSection1 = (CustomSection1)configuration.GetSection("CustomSection1");
Run Code Online (Sandbox Code Playgroud)

注意:回答类似问题时,我找到了解决方法.

  • 该错误仍然存​​在于当前版本的.NET 4.0中,但有一个(很难找到!)修补程序,请访问:http://support.microsoft.com/kb/2580188 (3认同)