2011-10-10 31 views
2

我有以下代碼,當我通過絕對路徑我的項目工作,但我需要相對路徑configuration.ini是一個文件,在我當前的項目,所以當我給絕對路徑,像對此,代碼永遠不會運行如何通過相對路徑在設置

<app Settings 
<add key="Configuration Path" value="d:DocsWcfService\Configuration.INI"/> 
    </app Settings 

我需要這樣的事情,有什麼辦法?

<app Settings 
<add key="Configuration Path" value="~\Configuration.INI"/> 
</app Settings 
+1

**請告訴我們你的代碼** – SLaks

回答

0

Server.MapPath

var physicalPath = Server.MapPath("~\Configuration.ini"); 
+0

我怎麼使用它PLZ解釋我是否需要寫這樣<添加鍵=「確認路徑」值= physicalpath /> –

+0

@NitinBourai - 沒有像web.config那樣保留你的相對路徑,但是當你從配置中取出路徑而不是直接使用它來打開文件時,可以通過'Server.MapPath'它會爲你解決問題。 – James

+0

我也試過這個東西,但是因爲我正在將我的架構從Remoting改爲WCF,所以我必須在很多地方做出改變,我得到了答案並嘗試用最小的努力來改變 –

0

我有過的配置文件同樣的問題。我能夠使用完整路徑並且工作正常。當我嘗試使用相對路徑時,它無法找到我的配置文件。我希望我的解決方案能夠幫助你,或者至少給你一個想法。

嘗試單擊位於解決方案expllorer中的文件並展開屬性選項卡以將「複製到輸出目錄」更改爲「始終複製」。因爲我知道VS在每次運行項目時都將文件複製到\ bin \ Debug文件夾,因此該文件的相對路徑在開發期間以及部署之後將始終保持相同。

之後,下面的代碼就足夠了

<app Settings 
    <add key="Configuration Path" value="Configuration.INI"/> 
</app Settings 
相關問題