2012-08-10 47 views
6

我定義我的configSource尋找在名爲config子目錄的配置文件,如下所示:爲什麼Web.config在項目文件夾而不是bin中查找configSource?

<connectionStrings configSource="config\ConnectionStrings.config" /> 

我定義爲一個鏈接文件中的配置文件,所以當編譯發生它被複制到我的bin \ config文件夾就好了。

然而,我的web應用程序的項目正在尋找在發展項目config文件夾,而不是部署斌\ config文件夾。我用Process Monitor證實了這一點。

所以我有幾個問題:

  1. 爲什麼尋找替代斌有\ config目錄 - 我錯過了一個相對路徑設置的地方?
  2. 鏈接的文件不會被複制到那裏,而只能被複制到bin中。我的理解是,這是正確的行爲。這是一個正確的假設,還是應該複製到兩個位置?如果是這樣,那麼啓用該設置的設置是什麼?
  3. 對鏈接文件使用子文件夾是好的做法,還是應該將它們留在項目根目錄中?

非常感謝!

更新:我使用這裏介紹的方法:http://consultingblogs.emc.com/jamesdawson/archive/2008/06/03/using-linked-files-with-web-application-projects.aspx以確保配置文件被複制,做一個小實驗我已經回答了問題#2。不,它不是Visual Studio中的默認行爲,但此解決方法可確保將文件複製到兩個位置。

回答

1

我相信這可能會對你有所幫助。 How to use multiple Web.config files

基本上你可以擁有儘可能多的配置文件,只要它們位於Web應用程序的獨立文件夾中即可。我對你提到的「不同的web項目」的部分評論感到有點困惑,你能否在該部門更具體一些? 另外,我發現這個msdn更詳細,我建議你檢查一下。

快樂編碼!

+0

嗯,我不認爲我使用短語「不同的Web項目」,但我有多個目標項目(3個Web項目和一個控制檯應用程序),它們使用鏈接文件ConnectionStrings.config。 問題不在於有多少個配置文件。我不喜歡的是,Web項目正在尋找我的開發路徑與配置文件的部署路徑。控制檯應用程序沒有這樣做。 我的期望是,web.config將在編譯後查找部署路徑中的鏈接文件,就像我的控制檯應用程序的app.config一樣。對不起,缺乏清晰度! – Shane 2012-08-10 19:38:00

+0

嗨,再次,如果我正確理解你的問題,這裏唯一的問題是web.config沒有從預期的位置讀取鏈接的文件。從我可以挖掘,似乎需要指定確切的文件位置,以便web.config讀取它。這裏是我的[鏈接](信息來源:http://stackoverflow.com/questions/2411184/can-a-web-config-read-from-an-external-xml-file) – 2012-08-10 21:33:03

+0

嗨,如果我正確理解你的問題,唯一的問題是web.config沒有從期望的位置讀取鏈接的文件。從我可以挖掘出來的東西看來,確切的文件位置需要指定,以便網絡。配置來讀取它。這裏是我的[信息來源] [1] [1]:http://stackoverflow.com/questions/2411184/can-a-web-config-read-from-an-external-xml-file在我的項目中,我實際上使用這種方法,希望這可能會解決您的問題。 – 2012-08-10 21:41:42

相關問題