12
我想从我的App.config文件中检索存储在我的工作目录中的值,但是当我运行程序时它返回null。我非常困惑,为什么会这样,并且多次查看代码以试图发现错误。ConfigurationManager返回null而不是字符串值
这里是我的App.config文件中的代码:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="provider" value="System.Data.SqlClient" />
</appSettings>
<connectionStrings>
<add name="connection" connectionString="Data Source=(local)\SQLEXPRESS;Initial Catalog=Autos;Integrated Security=True;Pooling=False" />
</connectionStrings>
</configuration>
这里是我的C#代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Configuration;
using System.Data;
using System.Data.Common;
namespace DataProviderFun
{
class Program
{
static void Main(string[] args)
{
string p = ConfigurationManager.AppSettings["provider"];
string c = ConfigurationManager.ConnectionStrings["connection"].ConnectionString;
...
当我运行这段代码,P = NULL和c = NULL。
我引用了System.Configuration.dll。
是您的app.config被正确部署可执行.. IE:在执行目录中确实存在一个'应用程序名称。 exe.config`文件? – 2010-12-01 23:21:43
App.Config是使用的模板。真正的配置文件将是“Program.Exe.Config”文件。这应该在编译项目时完成。 – 2010-12-01 23:22:15