我想在另一个AppDomain中调用加载程序集,并调用该程序集中的某些函数。 它适用于C#代码:
AppDomain otherDomain0 = AppDomain.CreateDomain("otherDomain");
otherDomain0.DoCallBack(new CrossAppDomainDelegate(MyCallBack));
static public void MyCallBack(){ }
虽然它不在powershell中:
$domain = [AppDomain]::CreateDomain("foo")
$domain.DoCallback({ Write-Host “get called” })
例外:
异常调用" DoCallBack"用" 1"参数:"无法序列化 委托非托管函数指针,动态方法或方法 在代表创作者的集会之外。"在行:1个字符:1 + $ domain.DoCallback({+ ~~~~~~~~~~~~~~~~~~~~ + CategoryInfo: NotSpecified:(:) [],MethodInvocationException + FullyQualifiedErrorId:SerializationException
我的powershell版本是5.0.10586.672。 我想念一下吗?
根据这个post @ jame-ko可以使它发挥作用。
答案 0 :(得分:0)
"根据错误,它将无法正常工作。当您使用脚本块作为委托时,Powershell会创建动态方法。" 这是我从PowerShell专家那里得到的回应。