我有一个编译为 dll 的 asp.net 核心 mvc 项目:
<OutputType>Library</OutputType>
此项目从 Windows 服务项目(经典.NET)引用并在其中托管。这个效果很好,而我没有观点。我遇到的问题是当我添加它试图在运行时编译而没有找到引用的视图时。
我认为,也许,预编译视图将解决问题。但我似乎无法找到预编译“库”输出项目的视图的方法。
有没有办法在 ASP.NET * core 中预编译库类型项目的视图?
**更新:**更多信息。似乎预编译视图的目标仅适用于 Exe 输出,因为它们希望生成.exe
和.exe.config
文件;对于“库”项目(因为它只生成.dll
文件)并且.PrecompiledViews.dll
的构建失败,这不会发生。
1 回答
在
ASP.NET Core
中有查看组件的名称。所以,是的,您可以使用视图组件创建库,并在 UI 项目之间共享它们。查看这篇文章了解详情 - 从 ASP.NET 核心 MVC 中的类库加载视图组件呈现一个块而不是整个响应。
包含控制器和视图之间相同的 separation-of-concerns 和可测试性优势。
可以有参数和业务逻辑。
通常从布局页面调用。