C# IL Emit-是否可以使用reflection.Emit覆盖现有程序集?

C# IL Emit-是否可以使用reflection.Emit覆盖现有程序集?,c#,reflection.emit,mono.cecil,C#,Reflection.emit,Mono.cecil,我知道使用reflection.emit是一种动态生成类型的运行时技术,与使用PostSharp或Mono.Cecil的编译时技术不同。但是,是否可以使用reflection.emit覆盖现有程序集 例如,我在Types.dll程序集中有一个TypeA,我希望该程序集发出新类型并将其保存(覆盖)到appdomain中已加载的现有Types.dll中 是否可以使用reflection.emit覆盖appdomain中现有的Types.dll?否。无论如何,代码都不一定会被使用-代码在某个时候被编译

我知道使用reflection.emit是一种动态生成类型的运行时技术,与使用PostSharp或Mono.Cecil的编译时技术不同。但是,是否可以使用reflection.emit覆盖现有程序集

例如,我在Types.dll程序集中有一个TypeA,我希望该程序集发出新类型并将其保存(覆盖)到appdomain中已加载的现有Types.dll中


是否可以使用reflection.emit覆盖appdomain中现有的Types.dll?

否。无论如何,代码都不一定会被使用-代码在某个时候被编译成机器代码,内存布局是决定的,等等。如果需要动态类型,使用动态类型。@Luaan谢谢-我需要为客户端和服务器之间共享的类型实现INPC(我不喜欢使用属性),我会考虑动态类型。在这种情况下,我可能会选择mono.cecil。我有reflection.emit用于INPC+修改跟踪,但是,我可能会使用mono.cecil方法-我不确定在这种情况下,两个缺点中较小的是什么-运行时的错误还是构建后的错误。性能不是问题,因为我正在缓存从reflection.emit生成的代理,但是,我将添加另一个程序集(加载到内存中)。我觉得有责任发布以下内容: