概括
所需的 Microsoft.IdentityModel.Clients.ActiveDirectory.Platform.dll 未复制到我项目的 bin 目录
细节
我有以下
- 一个名为abc.settings的类项目,除了标准项目之外几乎没有其他参考资料。
- 一个名为abc.settings.extensions.keyvault的类项目,它是 abc.settings 的扩展库,具有 KeyVault nuget 和Microsoft.IndentityModels.Clients.ActiveDirectory nuget,它是 KeyVault 的依赖项(以及其他)
- 一个名为abc.login的项目,其中引用了 abc.settings 和 abc.extensions.keyvault
abc.login应用程序构建正常,没有错误,但是当我运行它时,我得到一个运行时聚合异常,归结为无法加载模块 Microsoft.IdentityModel.Clients。活动目录.平台.dll
当我查看 abc.settings.extensions.keyvault 的 bin 文件夹时,Microsoft.IdentityModel.Clients。ActiveDirectory.Platform .dll 与 Microsoft.IdentityModel.Clients 一起存在。ActiveDirectory .dll 符合预期。
当我查看 abc.login\bin\x64 时,我看到了 Microsoft.IdentityModel.Clients。ActiveDirectory.dll但没有 Microsoft.IdentityModel.Clients。活动目录.平台.dll
我尝试过的事情
- 确保这两个文件的本地复制都为真
- 确保这两个 dll 的特定版本设置相同(它是并且它们被设置为 true)
- 重新安装了nugets
- 在 abc.login 项目中安装了 ADAL nuget - 这会导致应用程序工作......但它应该已被复制,因为引用了 abc.extensions.keyvaul。
- 我检查了This SO但我不明白这是如何工作的(一个 dll 被复制,另一个没有)。那篇文章暗示这个引用的项目 dll 的引用永远不会起作用。
关于为什么或在哪里进行调查的任何建议?
谢谢你。