在MVC中使用dotnet核心时如何删除ErrorViewModel

时间:2019-01-22 16:17:36

标签: asp.net-mvc asp.net-core .net-core

如果从我的项目中删除了ErrorViewModel,它将无法运行,并在app.UseMvc()上失败,并显示错误:

  

System.TypeLoadException:'无法加载类型   程序集'DocumentGenerationService,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null'中的'DocumentGenerationService.Models.ErrorViewModel'。

这是一个带有mvc的dotnet core 2.2应用程序。我已删除了该应用程序不必要的所有内容,其中包括所有视图,因为这是一个webapi项目。

为什么不能从项目中删除ErrorViewModel?这让我很难过。

作为参考,下面是启动类的外观:

public class Startup
    {
        ...

        public void ConfigureServices(IServiceCollection services)
        {
            services.AddCors();
            services.AddSignalR();

            services.AddMvc()
                .SetCompatibilityVersion(CompatibilityVersion.Version_2_2);

            ...
        }

        public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        {
           ...

            app.UseMvc();
        }
    }

有什么想法如何摆脱ErrorViewModel类并使项目运行?或解释为什么不可能?

感谢StackOverflowers!

2 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,以下解决方案对我有效:

  1. 删除所有与ErrorViewModel相关的文件,例如Controllers,Views ...
  2. 关闭Visual Studio(如果已打开)
  3. 转到源目录并删除objbin目录
  4. 使用Visual Studio打开项目并运行它

现在它应该可以作为普通的WebApi项目工作。

答案 1 :(得分:0)

首先欢迎您进入Stack Overflow社区。

现在从模型文件夹中删除ErrorViewModel后,您需要执行以下操作来删除ErrorViewModel相关代码:

  • Error删除HomeController方法
  • Error.cshtml文件夹中删除Views/Shared文件
  • 现在检查_ViewImports文件夹中的Views文件。如果有任何以@using开头的红线,请删除该行。

现在构建解决方案并再次运行。希望它现在可以正常运行。