我正在尝试提取保存到app.config文件的URL,但它返回一个空字符串。有什么想法吗?
string asdf = String.Format("{0}", ConfigurationManager.AppSettings["MemberUrl"]);
配置文件:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="ForumUrl" value="http://www.dreamincode.net/forums/xml.php?showforum=" />
<add key="MemberUrl" value="http://www.dreamincode.net/forums/xml.php?showuser=" />
</appSettings>
</configuration>
答案 0 :(得分:8)
如果app.config是类库的一部分,它可能没有正确复制到bin文件夹(如果有的话)。
配置文件必须命名为<exefilename>.config
才能被正在运行的应用程序选中。
应用程序项目中的App.config文件(生成exe文件,控制台,WinForms等的文件)将在部署时复制和重命名。或者,如果这是从Web项目执行的,则需要进入web.config。
这有帮助吗?
答案 1 :(得分:3)
您的类库所需的所有配置信息必须位于主项目App.config或web.config中。换句话说,如果您的app.config文件附加到库中,则不会读取它。
转到主应用程序并将相应的键/值添加到其配置文件中。
答案 2 :(得分:3)
Sergio我刚尝试过这是一个控制台应用程序,它运行良好。
我建议它是一个类库;而不是您已将app.config文件添加到的主程序集。
当你进行构建时;查看二进制输出文件夹Debug或Release,在那里你应该看到一个名为yourEXEfilename.config的文件;如果该文件不存在,那么您将无法从上面的代码行获得任何输出。
AppSettings将返回一个NULL字符串。
希望这是有用的 亲切的问候 诺尔
答案 3 :(得分:0)
没有理由不这样做 - 你还有其他相关信息吗?
仅供参考,你不需要String.Forma
t你正在做什么,以下是好的
string asdf = ConfigurationManager.AppSettings["MemberUrl"];