6
クラスファイルにビルドアクションがcontent
のExcelファイルがあります。ライブラリはASP.NET WebFormsアプリケーションとコンソールアプリケーションの両方で参照され、Excelファイルは両方で使用されます。プログラムでこのファイルのファイルパスを取得する方法はありますか?クラスライブラリのコンテンツのファイルパスを取得する方法
私はこれを行うことができますASPで知っている:
HttpContext.Current.Server.MapPath(@"bin")
そして、私はこれを行うことができ、コンソールアプリで:
Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location)
これらの作業を、より良い、連結があります場合、私は思ったんだけどアセンブリからファイルを見つけてパスを返します。
埋め込みリソースはうまく動作しません。なぜなら、Excelファイルとの相互運用が必要でディスク上に必要なためです。私は、 'bin'ディレクトリに' MapPath'や 'Path.Combine'を実行することを避けたいと考えていましたが、別の方法がないかもしれません... –
埋め込みリソースからファイルをtempディレクトリそこで相互運用を行います。また、複数のプロセスがファイルにアクセスした場合、または何らかの理由でExcelがファイルを解放しない場合に問題が発生するのを防ぐことができます。 –