2017-05-04 40 views
0

我試圖創建使用某些外部DLL-s函數的插件。 因爲我不知道哪個插件將被用於我想動態負載:它使用反射動態加載插件,像mailservice.dll檢查.net核心中的動態加載庫的依賴關係

  1. 主要asp.net核心項目。

  2. 公開CheckMail()方法(我使用MimeKit作爲IMAP幫助器)的mailservice.dll庫。

一切加載罰款但是當調用CheckMail()方法我接收System.IO.FileNotFoundException:未能加載文件或程序集「MailKit,版本= 1.16.0.0。 因此,我把MimeKit的所有依賴關係從發佈版本中提取出來,但仍然沒有任何內容(46個文件)。 當我使用nuget安裝MimeKit包到我的主asp.net項目時,一切運行良好,但顯然我不想保持這種依賴。

是否有任何工具或技術來檢查哪些文件丟失?

回答

0

要從dotnet核心主機獲取程序集探測路徑,可以啓用核心主機跟蹤。
如果從Visual Studio中運行,去指揮你的asp.net的核心主要解決

設置環境變量,則該命令先

set COREHOST_TRACE=1 

之後迅速和位置只是用DOTNET運行運行,你會得到全部細節

將輸出重定向到文本文件,使用redrection

dotnet run 2> log.txt 

注意:當dotnet主機寫入STDERR流而不是STDOUT時,需要'2>'重定向。您的常規日誌記錄將爲標準輸出。希望這可以幫助

+0

謝謝。我收到相同的異常數據。沒有路徑信息或其他數據。 – user3107586