1

在 HTML 中,我知道我可以指定相对路径,例如:

<a href="~/temp/Somecontent.xxx" />

我也想为我的服务器端代码设置相对路径。例如:

File.Exists("../myBusinessLibrary/Bin/Debug/myBusinessLibrary.dll");//where this is a library that supports the web project

找不到该文件。我看着Environment.CurrentDirectory并得到:

"C:\\Program Files (x86)\\IIS Express"

我不认为我的程序集被复制到这个位置。有没有办法设置与服务器端代码一起使用的相对路径?

4

4 回答 4

4

您可以使用以下代码

HttpContext.Current.Server.MapPath("relativepath goes here")
于 2013-03-29T20:37:05.983 回答
2

看看 Server.MapPath(string relativePath):

http://msdn.microsoft.com/en-us/library/system.web.httpserverutility.mappath(v=vs.100).aspx

此方法将相对路径映射到可在 File.Exists() 方法中使用的物理路径。

于 2013-03-29T20:37:41.770 回答
2

您可以使用Server.MapPath

var path = Server.MapPath("/myBusinessLibrary/Bin/Debug/myBusinessLibrary.dll");

File.Exists(path);
于 2013-03-29T20:38:27.783 回答
0

您可以尝试使用 Server.Mappath 看看会得到什么。以下是其信息的链接:

http://msdn.microsoft.com/en-us/library/ms524632(v=vs.90).aspx

于 2013-03-29T20:45:07.773 回答