2012-07-06 70 views
3

我想部署一個項目與多個可執行文件,其中一些使用一個共同的配置文件。我想在自己的目錄下有這個通用配置文件。問題在於它一直被忽略。我有標籤:爲什麼appSettings文件屬性不允許指向父目錄的路徑?

<appSettings file="..\Common Configs\Common.config"> 

在一些特定於可執行文件的配置文件中。如果我將Common.config文件複製到與特定配置文件相同的目錄中,並從標記中刪除路徑,則一切正常。它甚至如果我這樣做:

<appSettings file="..\App1\Common.config"> 

其中App1是文件夾中的可執行生活

This page表明ConfigSource不允許路徑父,但file屬性一樣。

更復雜的是,我正在部署到一個文件共享,所以我不能在exe文件夾中創建硬鏈接。

有誰知道爲什麼這不起作用?我怎麼可以用共享的配置文件來部署?

在文件夾結構具有如下形式:

  • 普通CONFIGS

    • Common.config
  • App1的

    • App1.exe

    • App1.exe.config

  • App2的

    • App2.exe

    • App2.exe.config

+0

你可以發佈你的完整文件夾結構嗎? – 2012-07-06 12:25:12

+0

如果配置文件直接在父目錄(而不是另一個子目錄)中,它會工作嗎? – 2012-07-06 12:25:35

+0

當所有文件都是本地文件時,它似乎可以工作 - 所以文件共享方面也許是重要的。 (剛剛在.NET 4.5RC,控制檯應用程序下試過它) – 2012-07-06 12:49:27

回答

1

如果所有項目都在相同的解決方案中,您可以將配置文件添加到解決方案項目區域。然後可以將該文件與解決方案中的所有前綴共享。

您將需要選擇每個需要配置文件的項目並選擇添加現有項目。從那裏選擇文件,然後選擇添加爲鏈接。

這將允許您維護一個配置文件並與每個exe並排部署。

然後,當您通過appSettings部分引用它時,您可以直接引用該文件。

+1

這在開發過程中很有用,我正在做類似的事情。我的問題是,一旦部署,我只想要一個通用配置的副本。 – 2012-07-06 14:09:24

相關問題