2015-07-20 64 views
2

我想创建一个单独的应用程序域动态程序如下所示:创建动态装配在新的应用程序域

string webProfilesNamespace = ConfigurationManager.AppSettings["Profiles.Web.Namespace"]; 
AssemblyName webAName = new AssemblyName(webProfilesNamespace); 
AppDomain webDomain = AppDomain.CreateDomain("WebDomain"); 
AssemblyBuilder webAsmBuilder = webDomain.DefineDynamicAssembly(webAName, AssemblyBuilderAccess.RunAndSave); 

的问题是我不断收到这个错误,当我打电话DefineDynamicAssebly

在程序集'mscorlib中输入'System.Reflection.Emit.AssemblyBuilder', 版本= 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'是 未标记为可序列化。

为了能够在新创建的应用程序域上定义动态程序集,我需要做些什么?

回答

2

在新的应用程序域中调用DefineDynamicAssembly。也许这样做使用AppDomainCallback。我忘记了这个方法被称为什么。

+1

该方法被命名为DoCallBack :) –

+1

多么可怕的名字。 – usr

+0

我不断收到一个错误,说它无法序列化DoCallBack被从...调用的类。我试图将该类标记为可序列化,但这似乎没有帮助。为什么这个类必须是可序列化的吗? –

相关问题