我遇到了一些应用程序的问题。当我在本地磁盘上执行它时,一切都是正确的,但是当我尝试从共享资源(Z:\ resource \ TheApplication.exe)执行相同的应用程序时,我收到以下错误:
Error occurred creating the configuration section handler for DOMAIN/DomainUserInfo: Request failed
尝试阅读配置文件中的自定义栏时发生错误:
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"]; } }
}
配置文件如下所示:
<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>
有什么想法吗?
感谢。
答案 0 :(得分:7)
您所描述的问题是由.NET 4.0的应用程序配置功能中的bug引起的。
由于Microsoft Connect网站的重新设计,自Visual Studio 2012发布以来,大致无法链接到bug。我无法再找到新的 Microsoft Connect 上的缺陷,也不记得它的编号。
我唯一能找到的是该错误的链接仍然存在于 Google 的缓存中。
作为一项解决方法,我帮助我使用代码
打开应用程序配置configuration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
然后使用以下代码阅读自定义部分:
CustomSection1 customSection1 = (CustomSection1)configuration.GetSection("CustomSection1");
注意:我在answer中找到了类似问题的解决方法。
答案 1 :(得分:1)
您尚未在班级中声明OtherConfiguration
。因此,您不能将其作为配置中DomainUserInfo
的属性。