如何让C#项目使用自己的配置文件?

时间:2017-02-03 14:10:11

标签: c# asp.net web-config app-config

假设我在C#中有2个项目:

  • 一个名为 Repository 的类库项目,它封装了数据库访问逻辑(实现了任何客户端要使用的CRUD方法)。该项目有一个App.config文件,用于定义名为Username的密钥,其值为user01
  • 一个名为网站的ASP.NET(例如,MVC应用程序)项目,它使用Repository项目作为参考,并使用Repository提供的方法。此项目有一个Web.config文件,用于定义名为Username的密钥,其值为manager01

我发现的问题是,当任何Repository方法检索Username键的值时,它不会检索值user01。如果从网站调用,它将检索值manager01;如果从另一个项目调用,该项目在自己的配置文件中没有名为Username的密钥,则会抛出NullReferenceException

我的问题是:如何强制Repository项目(或任何项目)使用其自己的配置键而不是调用者的配置键?

1 个答案:

答案 0 :(得分:0)

是的,您可以在主项目配置文件中包含另一个.config文件。

显然,如果你将启动项目设置为一个网站,你的应用程序之前会读取他的.config文件。

进入该文件使用此包含另一个要读取的配置文件

<securityConfiguration configSource="AnotherConfigurationFile.config" />

PS:将其他配置文件全部放在同一个文件夹中。