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

Posted

技术标签:

【中文标题】如何让 C# 项目使用自己的配置文件? [复制]【英文标题】:How to make C# project to use its own config file? [duplicate] 【发布时间】:2017-06-20 22:31:05 【问题描述】:

假设我有 2 个 C# 项目:

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

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

我的问题是:如何强制存储库项目(或任何项目,就此而言)使用其自己的配置键而不是调用者的配置键?

【问题讨论】:

***.com/questions/5190539/… 如果您找不到合适的答案,我在重复问题中添加了答案:http://***.com/a/42026907/1351076 【参考方案1】:

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

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

在该文件中使用它来包含另一个要读取的配置文件

<securityConfiguration configSource="AnotherConfigurationFile.config" />

PS:把其他的配置文件都放在同一个文件夹里。

【讨论】:

以上是关于如何让 C# 项目使用自己的配置文件? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何确保 C# 项目中配置文件的更改导致 DLL 被重建?

如何在不重新编译的情况下配置我的 C# 项目? [复制]

如何从 c++ 项目中调用用 c# 创建的 dll 文件? [复制]

xxjob使用

C# winForm程序项目如何设置多语言?

如何让maven 将工程依赖的jar 复制到WEB-INF/lib 目录下