8

contentクラス ライブラリにビルド アクションを持つ Excel ファイルがあります。ライブラリは ASP.NET WebForms アプリケーションとコンソール アプリケーションの両方で参照され、Excel ファイルは両方で使用されます。このファイルのファイル パスをプログラムで取得する方法はありますか?

私はASPでこれを行うことができることを知っています:

HttpContext.Current.Server.MapPath(@"bin")

そして、コンソールアプリでこれを行うことができます:

Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location)

それらは機能しますが、アセンブリからファイルを見つけてパスを返すためのより良い統合された方法があるかどうか疑問に思っています。

4

1 に答える 1

2

2 番目の方法は、エントリ アセンブリではなく特定のアセンブリを検索するように変更するだけで、すべての環境で正常に機能します。

これを行う最も簡単な方法は次のとおりです。

typeof(Some.Type.From.That.Assembly).Assembly.Location

別の方法として、埋め込みリソースを使用して、アセンブリから直接ファイルを読み込めるようにすることもできます。もちろん、ファイルがユーザーによって書き込み可能でなければならない場合、これは機能しません。

于 2012-10-30T17:18:28.990 に答える