2017-06-08 25 views
1

私はC#.NET Core WebAPIを持っており、私はIISを使用しています。 LoadMyDLL関数はDLL自体へのパス文字列を受け入れるためIISが外部DLLを見つけられません

var res = new LoadMyDLL("mydll.dll"); 

私はそれをしなければならない。私のコードでは、私はこのように、実行時に外部DLLをロードします。理想的には、メインのアプリケーションと同じフォルダにDLLを持っていて、パスが提供されない理由はdllファイルの名前だけです。

コンソールモードでアプリケーションを実行すると、すべてがファイルになります.dllは、メインの.exeと同じフォルダにあります。 IISでクラスライブラリとしてアプリケーションを実行すると、DLLが見つからなくなります。 IISで動作するときの作業ディレクトリは何ですか? dllを正しいIISフォルダにコピーするVS2015のビルド後のステップは何ですか?

+0

は 'bin'フォルダにする必要があります。バイナリが通常エクスポートされる場所です。 – Nkosi

答えて

1

ASP.NET Webサイトの場合、ルートディレクトリはプロジェクトディレクトリです。 IISでホストされている場合は、その内部にweb.configが存在する必要があります。

ここでは、あなたのライブラリDLLがコピーされる場所に置くことができます。

Here you can put where your library DLLs will be copied

+0

ありがとう、それはIISでホストされています。 web.configについてもっと詳しく教えてください。私は確かに1つを持っています –

+0

Web.configは、そのWebサイトのIIS設定を保持します。 ASP.NETコアの場合、IIS内でホストされている場合にのみ必要です。 –

+0

私のアプリケーションがIIS上でホストされているので、作業ディレクトリは何ですか? –

関連する問題