簡體   English   中英

在asp.net核心解決方案中的項目之間共享視圖(.cshtml文件)

[英]Share views (.cshtml files) between projects in asp.net core solution

我有一個項目,由於各種原因,有許多控制器和視圖基本相同。 目前,它們在項目之間進行復制,因此每個項目中都有幾個副本。 我想知道是否還有將它們放在一個單獨的項目(例如類庫項目)中並修改View Locator功能(IViewLocationExpander?)或其他一些方法讓它在這些視圖的不同項目中查找。

我知道這可能在“完整”的asp.net中有一些黑客攻擊而且從來都不是很干凈或優雅,所以想知道asp.net核心是否有更好的方法?

謝謝

您可以創建AspNetCore類庫並使用AspNetCore預編譯視圖 也如此StackOverflow答案中所示 這應該允許您根據需要編譯和共享控制器和視圖。 將不再需要部署視圖(.cshtml文件),因為它們將在此類庫中編譯和可用。

然后添加對此類庫項目的引用(如果在同一解決方案中)或將其創建為Nuget包並將其添加到其他項目。 (這可以通過私有Nuget服務器或Local Nuget存儲庫文件夾完成)。

更新: ASP.NET Core 2.1有一個新的Razor SDK ,使這更簡單。 它會發出一個視圖程序集(AppName.Views.dll)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM