繁体   English   中英

从同一解决方案C#中的另一个项目引用Web.Config文件

[英]Reference Web.Config file from another project in same solution C#

我有一个VC2010 C#解决方案,里面有很多项目。

例如,我有一个Web项目,我有一个类库。

在web.config文件中,我在<appSettings>部分有一个键,例如

<add key="FileDirectory" value="G:\ftproot\sales" />

我还在Web.Production.config文件中添加了一个键,以反映服务器上的文件目录。

所以当我在我的web项目中引用它时(它是MVC) - 我这样做:

var FTPPath = ConfigurationManager.AppSettings["FileDirectory"];

这在我的web项目中工作正常。 但是,我还需要在类库中引用它,这就是我的问题 - 有没有办法在同一个解决方案中从另一个项目(例如类库)引用web.config文件中的键?

所有帮助表示赞赏。 谢谢

是的,您可以使用完全相同的代码。 .Net将在启动应用程序域的应用程序的配置文件中查找配置密钥。 这样的应用程序使用的类库将可以访问它的配置文件。

类库没有自己的配置。 它们使用的是可用于执行它们的配置。

这意味着对你来说你应该能够使用相同的代码,它将从配置中读取设置(假设它在那里)。

这并不总是方便(例如,如果您为MMC管理单元编写基于.net的插件,则这意味着您必须修改系统文件夹中的mmc.exe.config。)

您可能更好的方法是将此必需的配置设置传递到库代码中。 然后在您控制配置的应用程序中,您可以从那里读取它并将其传入,而在您不能使用的应用程序中,您可以使用其他方法,例如从注册表或手动读取配置文件中读取。 或者充分利用这两个世界并制作它以便您可以将其传入,如果不这样做,它会尝试从默认配置中读取它。

这个问题有关于与dll配置相关的陷阱的更多细节,但是如果需要,还有一些技术可以做到这一点。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM