我有一个 asp.net 核心 mvc 项目编译为 dll:
<OutputType>Library</OutputType>
此项目引用自 Windows 服务项目(经典 .NET(,并承载在其中。当我没有视图时,这很有效。我遇到的问题是当我添加视图时,它试图在运行时编译找不到引用。
我的想法是,也许,预先编译视图可以解决问题。但是我似乎找不到为"库"输出项目预编译视图的方法。
有没有办法在 *core 中预编译库类型项目的视图 ASP.NET?
更新:更多信息。似乎预编译视图的目标仅适用于 Exe 输出,因为它们希望生成.exe
和.exe.config
文件;对于"库"项目(因为它只生成一个.dll
文件(,并且.PrecompiledViews.dll
的构建失败。
ASP.NET Core
中有命名的View components
。所以是的,您可以使用视图组件创建库并在 UI 项目之间共享它们。查看这篇文章以了解详细信息 - 从核心 MVC 中的类库加载视图组件 ASP.NET
ASP.NET Core MVC
的新手,视图组件类似于分部视图, 但它们要强大得多。视图组件不使用模型 绑定,并且仅依赖于调用它时提供的数据。一个 视图组件:
- 呈现一个块而不是整个响应。
- 包括控制器和视图之间相同的关注点分离和可测试性优势。
- 可以有参数和业务逻辑。
- 通常从布局页调用。