核心库中的MVC

问题描述

我构建了这个项目,它包含一个简单的MVC类型结构来帮助调试信息。现在,该公司希望在其他应用程序(如图书馆)中使用它 我能形容的最好方法

我的项目调试器一个具有多个端点的单个控制器,这些端点呈现用C#编写的视图(非常基本)。

我想要的是,当另一个项目想要包括我的调试时,他们会:

  1. 使用NuGet添加 Debugger 作为参考。
  2. 然后在Start.cs中,开发人员将使用IApplicationBuilder.UseDebugger(IConfiguration,Otherinformation)或IServiceCollection.UseDebugger(IConfiguration,Otherinformation)和 Debugger 扩展将完成其余工作,例如注册路由,构建它需要依赖注入。

我不知道要使用什么项目类型,我是使用Core Web Application 3.1构建的,但我认为不是那样。我还尝试了.Net Standard类库,但无法获得对Controller的引用以呈现视图。

总而言之,我想将项目的一部分转换为库,以允许分发到其他应用程序。

链接到示例项目也将很有帮助。谢谢

解决方法

听起来您想要Razor Class Library

Razor视图,页面,控制器,页面模型,Razor组件,View组件和数据模型可以内置到Razor类库(RCL)中。 RCL可以打包和重用。应用程序可以包括RCL并覆盖它包含的视图和页面。在Web应用程序和RCL中都找到视图,部分视图或Razor页面时,将以Web应用程序中的Razor标记(.cshtml文件)为准。

编辑:我刚刚意识到我answered a question关于上个月建立Razor类库的知识,所以这也将为您提供一个起点。