簡體   English   中英

SSRS 2016:報告傳遞擴展通過 MicrosoftGraph&AzureIdentity 發送報告 email,但 Microsoft.Identity.Client 的程序集版本出錯

[英]SSRS 2016: Report Delivery Extension to send report email via MicrosoftGraph&AzureIdentity, but error in assembly version of Microsoft.Identity.Client

Microsoft 宣布 Exchange Online 中除 STMP AUTH 之外的 Basic Authentication 到期,但不保證長期使用。 因此,我決定開始更改我們在 SSRS 2016 中的報告交付,現在主要通過 SMTP email。

在閱讀了很多資料后,我發現 SSRS 有 Report Delivery Extension,我們可以構建程序集來自定義新的 Delivery Method,從這里我可以通過 Microsoft Graph 和 Azure Identity 發送報告 Email。

交貨延期鏈接

在項目中,我添加了 Nuget Package 的:

  • Microsoft Graph package 版本 4.47
  • Azure 身份版本 1.8 VS 自動將其他依賴項添加到項目中,我可以在沒有任何警告或錯誤的情況下成功構建項目

項目構建成功

但是,將程序集部署到 SSRS,訂閱運行后,我在日志中收到如下錯誤:

通知:WindowsService_0:59ac:11/18/2022-16:42:08.: i INFO,通知 27e69a92-12b9-4ab8-984f-d5910af77de7 已完成:成功:真。 地位。 錯誤,無法加載文件或程序集“Microsoft.Identity.Client”。 版本=4,46,0.0。 Culture=neutral: PublicKeyToken=0a613f4dd989e8ae' 或其依賴項之一。 找到的程序集的清單定義與程序集引用不匹配。 (HRESULT 異常:0x80131040)

我在nuget網站上仔細檢查了其他程序集的依賴性,但沒有任何跡象表明我使用了錯誤的版本。 Microsoft.Identity.Client.dll 文件被復制到 ReportServer 的 Bin 文件夾中。

我嘗試用 nuget 中的版本 4.46.0 更新 Microsoft.Identity.Client.dll 文件(忽略依賴項),但出現另一個程序集版本不匹配:

通知:WindowsService_0:4d94:11/17/2022-23:59:03.: i INFO,通知 b82bb214-3880-4f80-857b-cdf42cde8ff0 已完成:成功:真。 地位。 錯誤,無法加載文件或程序集“System.Diagnostics.DiagnosticSource”。 版本=4,0,4.0。 Culture=neutral: PublicKeyToken=cc7b13ffcd2ddd51' 或其依賴項之一。 找到的程序集的清單定義與程序集引用不匹配。 (HRESULT 異常:0x80131040)

現在,我找不到版本為 4.0.4 的 System.Diagnostics.DiagnosticSource.dll。 我只能找到4.0.0或4.3以上的版本。

現在我被困在這里了。

有沒有人有這方面的經驗? 我怎樣才能繞過這個依賴檢查?

我什至嘗試將 Azure.Identity 版本降級到較低版本,但仍然停在 System.Diagnostics 版本 4.0.4

然后我創建了一個控制台應用程序,我只是在同一台服務器上發送一個測試 email,其中包含所有最新版本的程序集 Azure.Identity 和 Microsoft.Graph(相同的 .Net Framework 4.7.2 和相同的防火牆配置)。 可以發送成功。

我懷疑 SSRS 2016 是否存在指向這些程序集較低版本的任何程序集沖突。

我有完全相同的問題,但是為 Act 構建了一個附加組件。 對於 Windows。我的代碼在 Act 之外工作。 在獨立的 .NET 4,7.2 應用程序中,但在 Act 中加載時,我遇到了與上述完全相同的沖突。也就是說,Act! 本身甚至不使用 Microsoft.Identity.Client(dll 不是其中的一部分)

暫無
暫無

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

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