2011-10-10 37 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