2011-05-22 82 views
3

我有一个asp.net mvc网站,当然有一个web.config文件。我也有一个外部项目,它是一个使用.config文件进行自己的应用程序设置的类库。问题是当我运行我的web应用程序时,这些外部应用程序设置值不包含在appSettings中。如何访问外部.config文件?

如何获取外部类库项目appSettings值?

回答

2

您需要:
1.将这些设置添加到您的web.config文件中。
2.指向外部设置,并使用后期构建事件处理程序将输出复制到您的Web项目中。

<configuration> 
    <appSettings configSource="my.config" /> 
</configuration> 

标准约定是您将设置添加到您的web.config文件。只有dll的程序集不会加载它们自己的配置文件。这允许使用它们的人在他们自己的应用程序中指定设置。

+0

咳咳 - 你不能外部化整个'<配置>'标签(根标签在.NET'.config') - 仅配置部分里面可以外化成一个单独的文件(所以要么你选择了一个非常糟糕的例子来证明你的意图,否则你的陈述将无法正常工作......) – 2011-05-22 07:36:08

+0

@marc_s - 很好的结果。我更新了我的例子。 – 2011-05-22 16:20:17

+0

是否可以使用configSource指向多个配置文件? – chobo 2011-05-23 02:48:56

6

你可以得到外部的应用程序设置这样的:

var config = ConfigurationManager.OpenExeConfiguration("some.config"); 
    var someKeyValue = config.AppSettings.Settings["someKey"].Value;