我们可以在项目之间共享App.config的一些内容吗?

5Yr*_*DBA 24 .net c#

我的Visual Studio 2008解决方案中有两个独立的项目.两者都有自己的App.config.但是在一个项目中,我需要在另一个项目的App.config中定义一个或两个属性.是否可以从其他项目共享部分App.config内容?

mar*_*c_s 34

当然是.任何配置部分都可以"外部化" - 例如:

<appSettings configSource="AppSettings.DEV.config" />
<connectionStrings configSource="MyConnection.config" />
Run Code Online (Sandbox Code Playgroud)

要么

<system.net>
   <mailSettings>
      <smtp configSource="smtp.TEST.config" />
Run Code Online (Sandbox Code Playgroud)

<system.net>
   <mailSettings>
      <smtp configSource="smtp.PROD.config" />
Run Code Online (Sandbox Code Playgroud)

任何配置部分都可以放在一个可以在项目之间共享的单独文件中 - 但是没有配置部分,不幸的是,知道哪个是哪个有时有点棘手.

此外,在某些情况下,Visual Studio会抱怨(使用红色波浪下划线)"configSource"应该是无效的 - 但它是 - 它是ConfigurationSection在.NET配置系统中的对象上定义的.

更新:
开发人员似乎不知道和使用的另一个功能是Visual Studio能够将来自不同项目的现有文件添加为链接:

替代文字http://i44.tinypic.com/2vl5wls.png

有了这个,您可以将文件链接添加到本地项目中,并且它们将始终保持最新.如果您需要进行一些文件级共享(例如常见的配置文件等),可以提高工作效率!