LDJ*_*LDJ 5 c# asp.net asp.net-mvc asp.net-core
我有一个项目,由于各种原因,该项目具有许多基本相同的控制器和视图。目前,它们已在项目之间复制,因此每个项目中都有多个副本。我想知道是否有将它们放在一个单独的项目中(例如,一个类库项目)并修改视图定位器功能(IViewLocationExpander?)或其他某种方法来使其在其他项目中查看这些视图。
我知道有可能在“完整的” asp.net中进行一些改动,而且它从来都不是很干净或优雅的,所以想知道asp.net内核是否有更好的方法?
谢谢
您可以创建一个 AspNetCore 类库并使用AspNetCore Precompiled Views。也如StackOverflow 答案中所示。这应该允许您根据需要编译和共享控制器和视图。视图(.cshtml 文件)将不再需要部署,因为它们将在此类库中编译并可用。
然后添加对此类库项目的引用(如果在同一解决方案中)或将其创建为 Nuget 包并将其添加到其他项目。(这可以通过私有 Nuget 服务器或本地 Nuget 存储库文件夹来完成)。
更新: ASP.NET Core 2.1 有一个新的Razor SDK,这使得这个过程变得更简单。它发出一个视图程序集(AppName.Views.dll)。
归档时间: |
|
查看次数: |
1771 次 |
最近记录: |