2013-02-14 48 views
0

我有了这个代码的函数类库:错误的应用程序配置文件?

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

当我打电话在一个控制台应用程序这个功能,它说的AppSettings没有钥匙。还指出连接字符串是aspnet ...而我的是sqlserver。所以它当然不会阅读我的图书馆应用程序配置,即使我在库函数中调用它。

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

我曾希望避免不得不制作和解析一个XML并重新发明轮子。

感谢

回答

2

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

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

库通常没有自己的配置 - 它受限于正在运行的应用程序的配置。

如果您将appSettingsconnectionStrings添加到应用程序配置中,则所有功能都可以使用。


换言之,当一个应用程序加载和它使用的库被加载时,应用配置读 - 没有其他的配置文件被读取。当调用ConfigurationManager的静态方法时,加载的配置是有效的。

There are加载特定配置文件的方法,但这不是默认行为。

0

你是肯定是错的在某个地方。可能是你写了你的密钥在不同的部分比appSettings。只要检查它,如果它是正确的,那么,你就需要重新定位为低于轮:

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

务必使用HttpContext

之前 System.Web命名空间添加到您的项目