如何从 WebApi 二进制文件中检索控制器方法?
Posted
技术标签:
【中文标题】如何从 WebApi 二进制文件中检索控制器方法?【英文标题】:How to retrieve Controller methods from WebApi binaries? 【发布时间】:2021-12-19 02:57:34 【问题描述】:我已经编译并发布了 API(ASP.NET Core WebAPI
on `.NET5)。我想从另一个桌面应用程序 (WPF) 中检索控制器类中的方法列表。在以前的 .NET 版本中,我是这样做的:
Assembly assembly = Assembly.LoadFrom(assemblyPath);
var types = assembly.GetExportedTypes().Where(a => a.FullName != null && a.FullName.StartsWith("MyTestApp.WebApi.Controllers."));
...但这在.NET5
中不起作用,因为由于某种原因,在.NET5
中构建/发布项目时没有复制所有必需的dll。所以我正在寻找一种直接的方法来获取给定命名空间中的方法列表。
感谢您的帮助,
【问题讨论】:
【参考方案1】:我已经为您Microsoft libraries missing when compiling .NET5 project 的相关帖子添加了答案,希望它能解决您的问题。
【讨论】:
【参考方案2】:将您的 .dll 程序集放入 ILSpy 或类似的东西中,然后反编译它们?
【讨论】:
以上是关于如何从 WebApi 二进制文件中检索控制器方法?的主要内容,如果未能解决你的问题,请参考以下文章
从 ASP.NET Web API 中的控制器返回二进制文件