如何分析已编译的.net.core程序集的内容



背景

我们希望允许第三方上传汇编。NET。核心程序集作为插件进入自定义AssemblyLoadContexts.

目标

但是程序集需要先处理安全问题,如果失败,则转储整个上下文。

示例

例如:

  • 我们可能希望插件只引用包含API的程序集,而不是提供集成服务(到数据库等(的较低程序集
  • 例如,如果程序集正在对具有System.IO的任何类型进行调用,则我们可能希望排除该程序集
  • 发现new()的使用,这样我们就可以通过覆盖IServiceDepency来记录它们正在实例化什么
  • 我们会学习的,随着时间的推移,列表会越来越多

约束

最好,我们希望使用框架和/或免费提供的包进行检查,而不是按照:检查编译的程序集的内容

问题

  • Roslyn可以用于de编译吗?还是它只是一个代码编译器
  • 有人能指出一个非常简单的例子来开始吗

谢谢!

Roslyin是一种编译器技术,不能反编译编译的代码。

您可以查看编译器代码并学习IL生成模式来反编译代码或使用类似ILSpy的东西。

最新更新