0

我有一个类库,它具有以下代码的功能:

this.apikey = ConfigurationManager.AppSettings["ApiKey"];

当我在控制台应用程序中调用此函数时,它说 AppSettings 没有键。它还指出连接字符串是aspnet ...而我的是sqlserver。因此,即使我在库函数中调用它,它肯定不会读取我的库应用程序配置。

这是正常的还是我做错了什么?

我希望避免制作和解析 xml 并重新发明轮子。

谢谢

4

2 回答 2

3

这是正常的还是我做错了什么?

这是正常的,你做错了什么。

库通常没有自己的配置 - 它受运行应用程序的配置的影响。

如果您将您的appSettings和添加connectionStrings到应用程序配置中,一切都将起作用。


换句话说,当加载应用程序并加载它使用的库时,会读取应用程序配置 - 不会读取其他配置文件。调用 的静态方法时ConfigurationManager,加载的配置是有效的。

一些方法可以加载特定的配置文件,但这不是默认行为。

于 2013-02-14T19:55:18.617 回答
0

你肯定在某些地方错了。可能是您将密钥写在与appSettings. 只需检查它,如果正确,则需要重新发明轮子,如下所示:

XDocument.Load(HttpContext.Current.Server.MapPath("~/web.config"));

请务必在使用之前将System.Web命名空间添加到您的项目中HttpContext

于 2013-02-14T20:02:50.887 回答