Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net core 跨多个项目共享视图组件_Asp.net Core_Asp.net Core Mvc_Asp.net Core 2.1_Asp.net Core Viewcomponent - Fatal编程技术网

Asp.net core 跨多个项目共享视图组件

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

我有一个相当大的视图组件,我想在两个不同的asp.net核心MVC项目中使用它。到目前为止,我找到了两种方法来实现这一点:


  • 这两种方法之间的权衡是什么?我的视图组件有嵌套的视图组件,它需要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
    阅读