问题描述
我构建了这个项目,它包含一个简单的MVC类型结构来帮助调试信息。现在,该公司希望在其他应用程序(如图书馆)中使用它 我能形容的最好方法是
我的项目调试器是一个具有多个端点的单个控制器,这些端点呈现用C#编写的视图(非常基本)。
- 使用NuGet添加 Debugger 作为参考。
- 然后在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类库的知识,所以这也将为您提供一个起点。