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