Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将Angular应用程序分解为几个Visual Studio项目的方法_C#_Angular_Asp.net Core_Angular Routing - Fatal编程技术网

C# 将Angular应用程序分解为几个Visual Studio项目的方法

C# 将Angular应用程序分解为几个Visual Studio项目的方法,c#,angular,asp.net-core,angular-routing,C#,Angular,Asp.net Core,Angular Routing,我正在寻找一种使用Visual Studio和ASP.NET Core SPA项目模板编写基于插件的Angular应用程序的方法 我对Angular是个新手,而且我还在读这本书。 看起来我需要的是路由器+延迟加载模块。主应用程序不需要直接引用这些模块,只需要适当的路由配置 此外,一些网络搜索显示,路由器可以动态地重新配置。例如,主应用程序调用my API,返回从插件列表中构建的可用路由 问题是延迟加载的角度模块将如何适应VS项目系统。我找到的所有Angular+VS示例都使用单个VS项目 但是我

我正在寻找一种使用Visual Studio和ASP.NET Core SPA项目模板编写基于插件的Angular应用程序的方法

我对Angular是个新手,而且我还在读这本书。
看起来我需要的是路由器+延迟加载模块。主应用程序不需要直接引用这些模块,只需要适当的路由配置

此外,一些网络搜索显示,路由器可以动态地重新配置。例如,主应用程序调用my API,返回从插件列表中构建的可用路由

问题是延迟加载的角度模块将如何适应VS项目系统。我找到的所有Angular+VS示例都使用单个VS项目

但是我需要一些类似于C#/.NET的东西。例如,典型的基于插件的C#应用程序包括:

  • 带有插件合同的公共项目
    IPlugin
  • 用一些
    PluginHost
    托管项目,它知道
    IPlugin
    并可以加载其实现
  • 许多项目采用
    IPlugin
    实现
也就是说,有人可以开发自己的实现,将生成的程序集复制到应用程序目录中,重新运行应用程序,并获得新的功能


使用Angular和Visual Studio(而不是VS Code)有什么方法可以实现这一点吗?

您可能希望将您的常用内容和实现设计为Angular库(ng generate library

有几种方法可以将其打包在一起——从Monorepo(您显然不想使用)到将它们作为单独的库构建,但最主要的是,您只需将这些库作为任何其他包(或作为Angular本身)从npm导入,并使用它们导出的API

这方面有一些资源,例如,或


现在,如何做得更进一步,也许再多读一点,然后发布更具体的问题。

好奇-你在哪里读到可以动态重新配置路由器的内容?是的,这是可能的,但据我所知,它有点黑客化。@Zlatko:我找到的一个链接:老实说,我没有检查它是如何工作的。是的,好吧,这应该是有效的,但是捆绑它需要一些注意。正如我所说,这不是一件小事。我要做的是确保我对我希望在应用程序运行时加载的每个惰性模块都有一个
e2e
测试,以确保我所有的惰性模块包都在那里。我发现了一个有趣的问题:看起来人们想做同样的事情(但与VS无关),这仍然是不可能的。