编译动态对象我写一个应用程序,允许用户超过对象的集合计算值来创建自定义算法。简而言之,我将通过一种方法使用类的源代码的字符串。如何管理创建/在.NET 4.0中
我已经实现该解决方案是编译字符串源代码中为每个这样的自定义算法一个单独的DLL,然后使用Assembly.Load加载它们并实例保存在DLL中的类。从可维护性的角度来看,这意味着我必须将源代码存储在数据库中(例如),并管理编译后的dll的存在(如果缺失,则通过再次编译源代码来重新创建)
考虑到.NET 4.0的新特性,是否有更好的方法来做到这一点?
编辑: 输入源代码是C#,我使用CSharpCodeProvider编译代码。自定义类都是从基类派生的,它们覆盖实际上保存计算逻辑的方法。我真的很想做的是摆脱DLL管理的同时不失去(太多)性能编译所有的类,每次我的应用程序启动时
的要求是,源代码中的用户提供为C#。 – anchandra 2011-03-30 21:27:53
@anchandra - k;将编辑 – 2011-03-30 21:32:41
我认为你可以直接编译到内存中的程序集。所以你不需要在磁盘上管理它们。 – CodesInChaos 2011-03-30 21:43:55