中程度の信頼のasp.netのbinフォルダーからファイルをロードするにはどうすればよいですか

StackOverflow https://stackoverflow.com/questions/2925501

質問

ASP.NET(MVC、カウントされるわけではない)のBINフォルダーからXMLファイルをロードする必要があります。 Binフォルダーパスを取得したり、ファイルをロードしたりすることはできません。次の方法にフィードする必要があります。

using(var file = System.IO.File.OpenRead(/* something */))
{

}
役に立ちましたか?

解決

まあ..中程度の信頼の下で、私ができることはすべて、私の顔にそれを吹き飛ばさないことはこれでした:

var binFolderPath = Server.MapPath("bin");

それから

Path.Combine(binFolderPath, "myConfigFile.xml");

他のヒント

何らかの理由で、デフォルトでは、IISがビンフォルダーへのアクセスを許可していないように見えます。これはおそらく、仮想ディレクトリの上の親サイトから継承されます。とにかく、中程度の信頼を持つFileioに関するこのリンクを参照してください。

http://msdn.microsoft.com/en-us/library/ms998341

親サイト/仮想ディレクトリから設定をオーバーライドするために、AppDirへの特定のアクセスを提供するために、Web.configにセクションを追加する必要がある可能性があります。

<IPermission
  class="FileIOPermission"
  version="1"
  Read="$AppDir$"
  Write="$AppDir$"
  Append="$AppDir$"
  PathDiscovery="$AppDir$"
/>
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top