2009-01-08 52 views

回答

35

添加现有项对话框,您从Visual Studio的Solution Explorer中得到,你可以在磁盘上添加一个链接到另一个文件到项目中。为了做到这一点,您必须点击Add按钮右侧的向下箭头,并选择Add As Link

+0

OK,我增加一条,作为一个链接,现在怎么办我访问第二个项目的链接应用程序配置的各种值? – nawfal 2012-06-07 12:53:47

+0

@nawfal一个链接的`App.config`文件被复制到输出文件夹*,就像它在项目目录中一样。从那里你可以通过[配置](http://msdn.microsoft.com/en-us/library/system.configuration.configuration.aspx)类来访问它的内容。 – 2012-06-07 17:54:59

5

首先,请记住,App.config或web.config对于在解决方案中由启动项目建立的“过程”中使用的任何项目中运行的所有代码都是可见的。 。也就是说,如果你的解决方案有一个控制台应用程序和5个类库,或者一个WinForms应用程序和4个类库,或者一个WIndows服务和3个类库,或者一个控制台应用程序被用作启动项目,另一个控制台应用程序被用作类库,那么你没有问题,配置app.config和所有引用的文件,都可以从所有的项目中看到。其次,如果在解决方案中运行两个或多个独立的可执行进程(如Windows服务作为服务器,以及一个winforms客户端),那么如果您希望他们共享特定的配置设置,您可以使用把这些设置在Machine.config文件,但你应该在做这个小心..有的企业服务器团队不赞成它..

7

Another approach从微软:

使用的的fileattribute <appSettings>元素指定一个 个外部文件,它将定义常见的<appSettings>元素。

外部文件将具有相同的模式作为一个app.config 文件不同之处的根节点必须<appSettings> 而非<configuration>

创建一个通用配置文件:

  1. 在文件菜单上,指向新建,然后单击文件。
  2. 在新文件对话框中,执行以下操作:

    a。在“类别”窗格中,选择“常规”。 b。在“模板”窗格中,选择“XML文件”。
    c。点击打开按钮来创建一个新的通用配置设置文件。

  3. 添加新的<appSettings>元素。

  4. 因为你会与 任何正常app.config文件使用<add>元素以同样的方式<appSettings>节点中需要添加尽可能多的常见配置设置。

  5. 保存配置文件。

指定通用配置文件中的每个项目

  1. 打开每个客户端项目的app.config文件。

  2. 导航到<configuration>节点内的<appSettings>元素。如果一个元素不存在,请添加一个新元素。

  3. 将新属性文件添加到<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>指定 附加设置。如果多次指定相同的设置,则使用 指定的最后一个值。如果在 中指定了通用配置文件和客户端项目app.config 文件中的相同设置,则将使用通用配置文件中指定的值。

0

根据nawfal的帖子, 使用configSource属性,如果你想与ConfigurationManager中操纵的appSettings:

<?xml version="1.0" encoding="utf-8" ?> 
<appSettings configSource=”c:\commonSettings.config”> 
    <add key="myAppSpecificSetting" value="Setting1" /> 
</appSettings>