gpt4 book ai didi

razor - 在多个 asp.net core 项目中使用单个布局页面

转载 作者:行者123 更新时间:2023-12-05 05:12:39 25 4
gpt4 key购买 nike

我在一家公司工作,这家公司开发了许多供内部使用的网站,但许多网站都有面向公众的部分。重要的是我们所有的网站看起来都一样。在迁移到 dotnet core 时,我们发现我们无法再使用虚拟目录来托管我们网站的布局页面。

我们将布局页面存储在文件共享上,并在我们的项目中使用虚拟目录引用它。这样,如果我们需要更改页脚、页眉或某些样式/js 中的信息,我们可以将单个更改上传到布局页面,并且该更改将发生在我们所有的网站上。

我已经尝试研究任何可能的方法,我唯一能想出的是一个自定义中间件,它从文件共享下载布局页面,并在当前布局页面过时时更新它。

最佳答案

.NET Core 使您能够创建 Razor libraries .这将是一个单独的项目,您可以在其中共享 View 并将其引用到您的其他项目。你可以找到一个 simple implementation here .

您可以选择这两个选项中的一个来执行此操作。

  1. 在每个解决方案中引用此项目。由于您的解决方案直接引用 razor 库,因此在公共(public)库中所做的任何更改都将反射(reflect)在每个解决方案中,而无需重新打包和发布。

  2. 使用 dotnet pack 在共享位置创建 nuget。虽然此选项每次都需要您重新打包和发布,但在某些情况下,它会是一个更有条理的解决方案。您可以进行版本设置。这意味着当您更新共享 Razor 项目时,您将定义一个新的版本号。您可以在每个解决方案上更新它。这降低了项目中断的风险。假设您有 5 个项目,其中 2 个与最新更新不兼容。在这种情况下,您可以立即更新 3。当您可以花时间更新这些项目以满足新要求时,可以更新剩余的 2 个。

关于razor - 在多个 asp.net core 项目中使用单个布局页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54395675/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com