多个C#应用程序能否使用一个App.Config文件?

多个C#应用程序能否使用一个App.Config文件?,c#,.net,C#,.net,我们有许多C#控制台应用程序可以在预定任务上运行。所有这些应用都有自己的配置文件,其中包含类似smtp服务器的设置。如果我们的smtp服务器曾经发生过更改,我们将不得不手动进入每个配置文件并对其进行更改。多个应用程序是否可以查看C:驱动器上的1个配置文件,或者这被认为是不好的做法?使用数据库存储值是不可能的。不能直接共享一个应用程序配置文件,因为.config文件名需要与可执行文件名匹配(因此对于example.exe而言,它应该是example.exe.config) 对不同的应用程序使用不同

我们有许多C#控制台应用程序可以在预定任务上运行。所有这些应用都有自己的配置文件,其中包含类似smtp服务器的设置。如果我们的smtp服务器曾经发生过更改,我们将不得不手动进入每个配置文件并对其进行更改。多个应用程序是否可以查看C:驱动器上的1个配置文件,或者这被认为是不好的做法?使用数据库存储值是不可能的。

不能直接共享一个应用程序配置文件,因为
.config
文件名需要与可执行文件名匹配(因此对于
example.exe
而言,它应该是
example.exe.config

对不同的应用程序使用不同的值是有意义的,因为它们是独立的应用程序

如果确实有要共享的配置节,则可以使用该属性指向文件。
appSettings
部分还有一个特定的
file
属性,您可以以相同的方式使用该属性


如果在所有应用程序中共享某些配置值,您可以考虑将它们放置在文件中,以便使用所使用的框架。

< P>可以使用自定义XML文件来存储配置数据吗?
没有必要使用app.config

您可以指向应用程序配置文件中的外部配置文件,如下所示,并让所有应用程序使用单个文件中的相同设置集:

<appSettings file="c:\CommonSettings.config">
   <add key="MyKey" value="12"/> 
</appSettings>


  • 使用Cinchoo framework,您只需创建自定义配置对象并将其用于所有控制台应用程序,就可以实现这一点。它们都将从相同的配置文件中读取。有关更多信息,请访问

    为什么使用数据库是一个禁忌?这是一种非常常见的做法。我们的管理员可能没有数据库访问权限。我可以使用xml文件。我想这可能更容易些。