Web サイトを作成して にマップしD:\MyWebApp
、Plugins
サブ ディレクトリに仮想ディレクトリを作成して にマップしましたD:\Project\Presentation\Web\Accounting
。問題は、http://localhost/Plugins/Accounting
I get wrong 結果の物理パスを取得したい場合です。
物理的に存在しない「D:\MyWebApp\Plugins\Accounting」を返しますServer.MapPath("~/Plugins/Accounting")
。Server.MapPath("/Plugins/Accounting")
私は取得したいD:\Project\Presentation\Web\Accounting
。私はそれを検索し、以下の行を取得します:
- Server.MapPath(".") は、実行中のファイル (aspx など) の現在の物理ディレクトリを返します。
- Server.MapPath("..") は親ディレクトリを返します
- Server.MapPath("~") は、アプリケーションのルートへの物理パスを返します
- Server.MapPath("/") は、ドメイン名のルートへの物理パスを返します (アプリケーションのルートとは必ずしも同じではありません)。
しかし、私の場合(サブフォルダー内の仮想ディレクトリ)、機能しません!!! IIS8 と Asp.Net-Mvc 4 と C#4 を使用しています。どうすればこれを入手できますか?