2

ASP.Net MVC アプリがファイルにアクセスできるように、Visual Studio で Web サイトを実行するときと、運用サーバーが実際に実行されているときの両方で、ファイルを保存する必要があります。実行パスは 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 に答える