寻找解决策略:无法加载文件或程序集

Looking for strategy to resolve: Could not load file or assembly

我遇到以下错误:"Could not load file or assembly"。该错误本身就说明了问题:Micorsoft.Owin 版本 2.0.0.0 无法在 System.Web.Http.Owin 中加载。但我想使用 Microsoft.Owin 3.0.0.0,而我参考的 System.Web.Http.Owin 的 dll 版本为 5.2.2.0,它本身应该可以与 Microsoft.Owin 一起使用。

所以我的问题是谁在引用 Micorsoft.Owin 版本 2.0.0.0?

因此:我如何找出哪个程序集要求 Micorsoft.Owin 2.0.0.0?

是否有针对此类问题的推荐策略?

到目前为止我尝试做的是添加绑定重定向。但这更像是一种解决方法,而不是一个很好的解决方案(顺便说一句,它没有用。):

 <dependentAssembly>
    <assemblyIdentity name="System.Web.Http.Owin" publicKeyToken="31bf3856ad364e35" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-5.2.2.0" newVersion="5.2.2.0" />
  </dependentAssembly>
  <dependentAssembly>
    <assemblyIdentity name="Microsoft.Owin" publicKeyToken="31bf3856ad364e35" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
  </dependentAssembly>

您可以使用工具 Fuslogvw.exe 获取程序集绑定的日志,特别是加载了什么以及它在何处查找程序集。

它与 Visual Studio 一起安装,但要 运行 您需要打开 Visual Studio 命令提示符 (like this),然后 运行

fuslogvw