C# 在共享项目中包括razor视图

C# 在共享项目中包括razor视图,c#,asp.net-mvc,razor,reusability,C#,Asp.net Mvc,Razor,Reusability,我有CSS、Javascript、类和网格的局部视图,其中有很多排序和过滤选项。我想在VisualStudio中的一个共享项目中包含所有内容,这样我就可以在不同的应用程序中重用它 网格的CSS、Javascript和类在共享项目中正常工作。局部视图不适用。我在部分视图上有很多错误,我不知道如何从我的web应用程序中的视图引用部分视图 是否可以在共享项目中包含视图?如果可能的话,我该怎么做?谢谢 RCLs 一种可能适合您的方法是使用Razor类库(RCL)。RCL对于ASP.NET来说是相当新的,

我有CSS、Javascript、类和网格的局部视图,其中有很多排序和过滤选项。我想在VisualStudio中的一个共享项目中包含所有内容,这样我就可以在不同的应用程序中重用它

网格的CSS、Javascript和类在共享项目中正常工作。局部视图不适用。我在部分视图上有很多错误,我不知道如何从我的web应用程序中的视图引用部分视图

是否可以在共享项目中包含视图?如果可能的话,我该怎么做?谢谢

RCLs

一种可能适合您的方法是使用Razor类库(RCL)。RCL对于ASP.NET来说是相当新的,它提供了一种轻松共享和重用razor视图的方法

请参阅以下文档:

如果需要,可以使用RCL覆盖web项目中的共享视图

应用程序可以包括RCL,并覆盖其中的视图和页面 包含。在两个视图中都找到视图、局部视图或Razor页面时 web应用程序和RCL,web中的Razor标记(.cshtml文件) 应用程序优先

共享源代码

您还可以使用版本控制共享razor源代码,以确保每个项目具有相同的视图。我个人不推荐这个,但这是一个选择

预编译视图

另一个选择是预编译视图,因为您没有使用.NETCore。您可以使用以下文章进行说明:

在获得保存编译视图的DLL后,您可以轻松地将其作为参考包含在其他项目中

其他选项

查看此问题的答案,了解更多选项:


这个问题符合你的要求吗?这正是我想做的。我在网上尝试了几个RazorGenerator的例子,但都没能让它们发挥作用。当我试图提供完整路径并使用../时,我收到一个错误,说明我不能使用前导。。我没有使用.NET内核,所以我不认为RCL是一个选项。我将在链接中查看其他选项。@t_m27另一个选项是预编译视图。我编辑了我的答案,将其添加到其中。