将类添加到当前程序集中

wol*_*len 2 c# activator .net-assembly roslyn

我的应用程序中有一个当前程序集,我想从外部cs文件中添加一个类到此程序集中.有可能吗?我想像插件一样使用它.现在我正在尝试使用:

System.Reflection.Assembly assembly = System.Reflection.Assembly.GetExecutingAssembly();
Run Code Online (Sandbox Code Playgroud)

和Activator,但没有成功.我的应用程序是使用Roslyn,所以也许它可以做到.任何想法将不胜感激.

编辑:下一个问题是:我可以使用外部文件(带有类的cs文件)从该文件中获取实例,但类的构造函数需要从当前的程序集引用sceneManager.那么可以向Roslyn发送类似的东西并从中获取类的实例吗?

SLa*_*aks 5

您无法修改已加载的现有装配.

相反,您可以将代码编译到新程序集(使用Roslyn,CodeDOM,Sigil或类似的库)并使用反射加载该程序集.