Asp.net core 跨多个项目共享视图组件
我有一个相当大的视图组件,我想在两个不同的asp.net核心MVC项目中使用它。到目前为止,我找到了两种方法来实现这一点:Asp.net core 跨多个项目共享视图组件,asp.net-core,asp.net-core-mvc,asp.net-core-2.1,asp.net-core-viewcomponent,Asp.net Core,Asp.net Core Mvc,Asp.net Core 2.1,Asp.net Core Viewcomponent,我有一个相当大的视图组件,我想在两个不同的asp.net核心MVC项目中使用它。到目前为止,我找到了两种方法来实现这一点: 这两种方法之间的权衡是什么?我的视图组件有嵌套的视图组件,它需要java脚本来实现一些动态功能 对于ASP.NET Core 2.1以后的版本,您希望使用专门为此场景设计的Razor类库(RCL) RLC允许您使用razor视图、页面、控制器、页面模型、视图组件和数据模型创建可重用的UI。附加的好处是视图(甚至部分视图)可以被主应用程序覆盖,其中Razor标记(.csh
这两种方法之间的权衡是什么?我的视图组件有嵌套的视图组件,它需要java脚本来实现一些动态功能 对于ASP.NET Core 2.1以后的版本,您希望使用专门为此场景设计的Razor类库(RCL) RLC允许您使用razor视图、页面、控制器、页面模型、视图组件和数据模型创建可重用的UI。附加的好处是视图(甚至部分视图)可以被主应用程序覆盖,其中Razor标记(.cshtml文件)优先,允许每个应用程序更改,而无需修改原始共享组件
- 从Visual Studio的文件菜单中,选择新建项目
- 选择ASP.NET核心Web应用程序
- 将库命名(例如,“RazorClassLib”)>OK。要避免文件名与生成的视图库冲突,请确保 库名称不以.Views结尾
- 验证是否选择了ASP.NET Core 2.1或更高版本
- 选择Razor类库确定
- 从主应用程序中引用RCL(您也可以)
- 启动应用程序并访问
/MyFeature/Page1