在我的Visual Studio 2008项目中,我添加了app.config文件,我以xml格式存储了一些app-data。
我用这样的代码读取这些数据:
string somedata = ConfigurationSettings.AppSettings["somedatakey"].ToString();
当我在Visual Studio中启动应用程序时,它可以工作。但是,如果我尝试运行exe文件(发布或调试),我会收到错误(如果我在上面的行中删除了它):
对象引用未设置为 对象的实例。
文件app.config不在文件夹中。
答案 0 :(得分:1)
app.config文件是否与您的exe文件夹在同一个文件夹中?如果没有,请将其复制到那里。
在visual studio中开始调试构建所有内容,并将输出(包括app.config)复制到输出文件夹,从那里开始。
答案 1 :(得分:1)
@Jullin:当您通过按F5从Visual Studio编辑器运行项目时,CLR选择app.config文件来读取数据,但是当您想从.exe(bin / debug或bin / release)运行项目时,clr读取applicationName .exe.config,您必须在调试版或发行版中或您访问applicationName.exe的任何文件夹中。
就像我有一个名为“WindowsFormApplication”的窗口应用程序,当我在发布文件夹中成功构建它时,我有WindowsFormApplication.exe和WindowsFormApplication.exe.config以及其他一些文件。因此,请确保您成功发布项目,并且您的发布文件夹必须包含文件。
答案 2 :(得分:0)
从Exe运行时确保你已经添加app.config应该在同一个目录中