簡體   English   中英

檢查.NET Core中動態加載的庫的依賴關系

[英]Inspect dependencies for dynamically loaded library in .net core

我正在嘗試創建使用來自外部dll-s的某些功能的插件。 因為我不知道將使用哪個插件,所以我想動態加載:

  1. 一個主要的asp.net核心項目,該項目使用反射功能來動態加載諸如mailservice.dll之類的插件。

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

一切正常,但是當我調用CheckMail()方法時,我收到System.IO.FileNotFoundException:無法加載文件或程序集'MailKit,Version = 1.16.0.0 因此,我把從發行版中提取的MimeKit的所有依賴項放進去,仍然沒有(46個文件)。 當我使用nuget將MimeKit軟件包安裝到我的主asp.net項目中時,一切運行良好,但顯然我不想保留這種依賴性。

有什么工具或技術可以檢查哪個文件丟失?

要從dotnet核心主機獲取程序集探測路徑,可以啟用核心主機跟蹤。
如果從Visual Studio運行,請轉到命令提示符和asp.net核心主要解決方案的位置

首先使用此命令設置環境變量

set COREHOST_TRACE=1

之后,只需使用dotnet run即可運行 ,您將獲得完整的詳細信息

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

dotnet run 2> log.txt

注意:當dotnet主機寫入STDERR流而不是STDOUT時,您需要'2>'重定向,您的常規日志記錄將為STDOUT。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM