2

我需要存储一个文件,以便我的 ASP.Net MVC 应用程序可以在我在 Visual Studio 中运行网站时以及在生产服务器实际运行时访问该文件。我不认为我可以在我的开发盒上进行相对路径,因为执行路径位于 System32 文件夹中。我不知道服务器上是否也是如此,但无论哪种方式,绝对路径都不是一种选择。

有没有一种方法可以在代码中引用这个文件,这对我的开发盒和生产服务器都有效?

4

2 回答 2

3

如果您可以将文件存储在应用程序层次结构中,则可以执行以下操作:

Server.MapPath("~/path/to/file")

或者,您可以像这样获取当前正在执行的程序集的路径:

string codeBase = Assembly.GetExecutingAssembly().CodeBase;
UriBuilder uri = new UriBuilder(codeBase);
string path = Uri.UnescapeDataString(uri.Path);
return Path.GetDirectoryName(path);

并从中构建您的相对路径。

于 2010-03-05T21:54:49.190 回答
2

尝试以下子文件夹:

Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData))
于 2010-03-05T21:42:17.153 回答