2017-05-04 2 views
0

外部dll-sからいくつかの関数を使用するプラグインを作成しようとしています。 私は動的にロードしたいと思います使用されるプラグインを知っているわけではないので:.netコアの動的に読み込まれたライブラリの依存関係を調べる

  1. 動的にリフレクションを使用してmailservice.dllのようなプラグインをロードし

    メインasp.netコアプロジェクト。

  2. CheckMail()メソッドを公開するmailservice.dllライブラリ(私はMimeKitをIMAPヘルパーとして使用しています)。

負荷罰金すべてが、私はCheckMail()メソッドを呼び出したときに、私はSystem.IO.FileNotFoundExceptionを受け取る:ファイルまたはアセンブリをロードできませんでした「MailKit、バージョン= 1.16.0.0。 私は、リリース版から抽出したMimeKitの依存関係をすべて残しましたが、まだ何もありませんでした(46ファイル)。 メインのasp.netプロジェクトにnugetを使用してMimeKitパッケージをインストールすると、すべてうまく動作しますが、明らかにそのような依存関係を維持したくありません。

どのファイルが不足しているかを調べるツールや手法はありますか?

答えて

0

dotnetコアホストからプロービングパスを取得するには、コアホストトレースを有効にします。
は、Visual Studioから実行している場合は、単にDOTNETを使用して実行し、あなたのasp.netコア

はその後

set COREHOST_TRACE=1 

最初にこのコマンドを使用して環境変数を設定する主なソリューションの迅速かつ場所を指令する行きますを実行し、テキストファイルに出力をリダイレクトするには完全な詳細

を取得します、redrection

dotnet run 2> log.txt 
を使用

注:dotnetホストがSTDERRストリームではなくSTDOUTストリームに書き込むので、 '2>'リダイレクトが必要です。通常のログはSTDOUTになります。これが役に立ちます。

+0

ありがとうございます。私は同じ例外データを受け取ります。パス情報や追加データはありません。 – user3107586

関連する問題