【发布时间】:2020-07-09 14:54:07
【问题描述】:
在 asp.net 核心项目中:
将带有 MVC 视图的控制器共享到另一个项目的最佳方式是什么?
有什么方法可以在组件中构建一个带有视图的控制器,并将其共享给不同的项目。
换句话说,如何不只是简单地复制代码,以及如何将其重用于另一个项目。
【问题讨论】:
标签: asp.net asp.net-mvc asp.net-core asp.net-core-mvc
在 asp.net 核心项目中:
将带有 MVC 视图的控制器共享到另一个项目的最佳方式是什么?
有什么方法可以在组件中构建一个带有视图的控制器,并将其共享给不同的项目。
换句话说,如何不只是简单地复制代码,以及如何将其重用于另一个项目。
【问题讨论】:
标签: asp.net asp.net-mvc asp.net-core asp.net-core-mvc
是的,它是 ASP Core 中的一个新功能,称为 Application Parts。
它允许您store your ASP Core Controllers/Views etc in a separate assembly,然后您可以将其包含/共享为Application Parts/Dlls,这是 ASP Core 中的新功能,来自 MSDN 的示例代码在上面为 ASP Core 链接。
在 Startup 类的 ConfigureServices 方法中添加:
// set this up
services.AddMvc().AddApplicationPart(assembly).AddControllersAsServices();
其中assembly 是您的实例名称Assembly 以及您的控制器和服务,那么您可以从任何包含的类型中获取它或像这样加载它:
var assembly = Assembly.Load("YourApp.NameSace.AssemblyName");
【讨论】: