【发布时间】:2014-08-08 08:26:45
【问题描述】:
我试图在 Visual Studio 2012 的项目中从 app.config 文件中读取两个变量。但是我得到一个异常:“配置系统初始化失败”。有什么想法吗?
这是我的 app.config 文件
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
<configurationSections>
<section name ="connectionConfig" type="ConnectionManager.MyConnectionConfigurationSection"
/>
</configurationSections>
<connectionConfig portNumber="7777"/>
<connectionConfig hostName="localhost" />
</configuration>
C# 文件:
namespace ConnectionManager
{
public class MyConnectionConfigurationSection : System.Configuration.ConfigurationSection
{
[ConfigurationProperty("portNumber")]
public string PortNumber
{
get
{
return (string)this["portNumber"];
}
set
{
this["portNumber"] = value;
}
}
[ConfigurationProperty("hostName")]
public string HostName
{
get
{
return (string)this["hostName"];
}
set
{
this["hostName"] = value;
}
}
}
public static class ConnectionApplication
{
public static MyConnectionConfigurationSection Config { get; internal set; }
public static void Initialize()
{
try
{
Config = ConfigurationManager.GetSection("connectionConfig") as MyConnectionConfigurationSection ;
}
catch (Exception ex)
{
Console.WriteLine(ex.Message.ToString());
}
}
}
class Program
{
static string portNumber;
static string hostName;
static void Main(string[] args)
{
ConnectionApplication.Initialize();
portNumber=ConnectionApplication.Config.PortNumber;
Console.WriteLine(portNumber);
hostName = ConnectionApplication.Config.HostName;
Console.WriteLine(hostName);
}
}
}
似乎它无法初始化...当我转储异常时,异常显示:配置系统初始化失败。任何建议我做错了什么
【问题讨论】:
-
您已将
PortNumber属性声明为string,并在Program类中将portNubmer声明为int。 -
抱歉打错了...现在更正
标签: c# exception visual-studio-2012 configuration app-config