【问题标题】:TypeLoadException: Could not load type IHttpResponseStreamWriterFactory from assemblyTypeLoadException:无法从程序集中加载类型 IHttpResponseStreamWriterFactory
【发布时间】:2018-06-26 11:03:53
【问题描述】:

我正在构建 aspnet 核心应用程序。我想将我的 MVC 控制器之一保留在类库中(所以在主项目之外)。

为了做到这一点,我在名为“DataSync”的类库项目中创建了扩展控制器的新类。然后,我在主项目的Startup.cs文件中引用了它:

services.AddMvc().AddApplicationPart(Assembly.Load(new AssemblyName("DataSync")));

这是我尝试在浏览器中打开主项目时看到的错误:

TypeLoadException:无法从程序集“Microsoft.AspNetCore.Mvc.Core, Version=2.1.1.0, Culture=neutral, PublicKeyToken=adb9793829ddae60”加载类型“Microsoft.AspNetCore.Mvc.Internal.IHttpResponseStreamWriterFactory”。

我应该在哪里寻找可能的问题?这里可能出了什么问题?

【问题讨论】:

    标签: c# asp.net-core


    【解决方案1】:

    我在添加依赖于 Microsoft.AspNetCore.Mvc.Core 2.2.0 的新 Nuget 包 (Microsoft.AspNetCore.Mvc.Versioning) 时遇到了这种情况。但是,我的应用程序的其余部分使用的是较低版本。

    要修复,请检查库的 nuget 库页面,并检查依赖项。不断降低库的版本,直到兼容为止。

    【讨论】:

      【解决方案2】:

      为了解决这个问题,我更新了两个项目(主项目和类库)使用的库版本,并确保版本完全相同。之后,问题似乎消失了。

      【讨论】:

        【解决方案3】:

        我遇到了同样的问题。为了解决这个问题,我在我的项目中添加了这个 nuget 包:

        Microsoft.AspNetCore.Mvc.Razor

        【讨论】:

          【解决方案4】:

          如果您的应用程序在 .net core 2.0 上,那么这是一个问题,因为 Microsoft.AspNetCore.Mvc.Core 2.1.1 是针对 .net core 2.1 的。尝试删除此 nuget 的所有引用并安装针对 .net core 2.0 的 nuget。

          【讨论】:

            【解决方案5】:

            我的问题也与版本不匹配有关。 一般是 CodeGeneration VS Razor。

            【讨论】:

              猜你喜欢
              • 2017-10-01
              • 1970-01-01
              • 2018-06-02
              • 1970-01-01
              • 1970-01-01
              • 2012-05-05
              • 1970-01-01
              • 2011-09-07
              • 2016-09-27
              相关资源
              最近更新 更多