2009-01-08 122 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>