如何在Visual Studio解决方案中的多个项目之间共享/链接App.config或Web.config?
答案 0 :(得分:36)
在从Visual Studio的解决方案资源管理器获得的添加现有项对话框中,您可以将指向磁盘上其他文件的链接添加到项目中。为此,您必须点击添加按钮右侧的向下箭头,然后选择添加为链接。
答案 1 :(得分:7)
使用
<appSettings>
元素的fileattribute指定 外部文件,它将定义公共<appSettings>
元素。外部文件将具有与app.config相同的架构 文件,但根节点必须为
<appSettings>
而不是<configuration>
。创建通用配置文件:
- 在“文件”菜单上,指向“新建”,然后单击“文件”。
在“新建文件”对话框中,执行以下操作:
一个。在“类别”窗格中,选择“常规” 湾在“模板”窗格中,选择“XML文件” C。单击“打开”按钮以创建新的通用配置设置文件。
添加新的
<appSettings>
元素。使用
<appSettings>
元素在<add>
节点中根据需要添加尽可能多的常用配置设置,方法与使用 任何正常的app.config文件。- 醇>
保存配置文件。
在每个项目中指定通用配置文件
打开每个客户端项目的app.config文件。
导航到
<appSettings>
节点中的<configuration>
元素。如果元素不存在,请添加一个新元素。- 醇>
将新属性文件添加到
<appSettings>
元素,并指定公共配置文件的相对路径作为其值。
客户端项目现在可以访问常用配置 设置。示例
以下示例显示如何在外部文件中定义通用配置设置。
<?xml version="1.0" encoding="utf-8" ?> <appSettings> <add key="commonSetting1" value="MyApplication1" /> <add key="commonSetting2" value="MySetting" /> </appSettings>
以下示例显示如何在项目的app.config文件中指定公共配置文件的路径。
<?xml version="1.0" encoding="utf-8" ?> <appSettings file=”c:\commonSettings.config”> <add key="myAppSpecificSetting" value="Setting1" /> </appSettings>
如示例所示,客户端项目的app.config文件可以有 中指定的其他设置
<appSettings>
元素除了指向common之外 配置文件。如果多次指定相同的设置, 使用指定的最后一个值。如果指定了相同的设置 常用配置文件和客户端项目app.config file,使用公共配置文件中指定的值。
答案 2 :(得分:5)
首先,请记住App.config或web.config对于在解决方案中由启动项目建立的“进程”中使用的任何项目中运行的所有代码都是可见的...即如果您的解决方案有一个控制台应用程序和5个类库,或一个WinForms应用程序和4个类库,或一个WIndows服务和3个类库,或一个控制台应用程序用作启动项目,另一个控制台应用程序用作类库,然后你没有问题,配置app.config和所有引用的文件,从所有项目中都可见。
其次,如果您在解决方案中运行两个或更多单独的可执行进程(如Windows服务作为服务器,以及winforms客户端),那么如果您希望它们共享特定的配置设置,那么可以将这些设置放在machine.config文件中,虽然你应该小心这样做..并且一些企业服务器团队对此皱眉..
答案 3 :(得分:0)
根据nawfal的帖子, 如果要使用ConfigurationManager操作appSettings,请使用configSource属性:
<?xml version="1.0" encoding="utf-8" ?>
<appSettings configSource=”c:\commonSettings.config”>
<add key="myAppSpecificSetting" value="Setting1" />
</appSettings>