如何在使用带有MVC的dotnet核心时删除ErrorViewModel

问题描述 投票:3回答:2

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

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

它是一个带有mvc的dotnet核心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!

asp.net-mvc asp.net-core .net-core
2个回答
2
投票

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

  1. 删除所有ErrorViewModel相关文件,如控制器,视图等...
  2. 如果Visual Studio已打开,请将其关闭
  3. 转到源目录并删除objbin目录
  4. 使用Visual Studio打开项目并运行它

现在它应该作为一个普通的Web Api项目。


0
投票

首先欢迎来到Stack Overflow社区。

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

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

现在构建解决方案并再次运行。希望它能够优雅地运行。

© www.soinside.com 2019 - 2024. All rights reserved.