0

我只有这个命令有问题ExecuteAssembly 我让我的应用程序使用管道流数据运行,然后我切换到使用 netnamed 管道的 wcf。这与问题无关。

服务器一旦启动,就会执行一些操作,其中之一是执行运行客户端并连接到服务器的程序集。

代码:

String modulePath = (String)path;
AppDomainSetup objDomainSetup = new AppDomainSetup() { ApplicationBase = Path.GetDirectoryName(modulePath) };
string moduleConfigPath = String.Format("{0}.config", modulePath);
if (File.Exists(moduleConfigPath))
{
    // This is important... in case the loding module has a configuration file.
    objDomainSetup.ConfigurationFile = moduleConfigPath;
}

//We give the new app domain the same permission its parent has.
System.Security.Policy.Evidence baseEvidence = AppDomain.CurrentDomain.Evidence;
System.Security.Policy.Evidence objEvidence = new System.Security.Policy.Evidence(baseEvidence);
objModuleDomain = AppDomain.CreateDomain(ChannelName, objEvidence, objDomainSetup);
objModuleDomain.ExecuteAssembly(modulePath);

我检查了路径,一切似乎都是正确的,并且从路径指向的 .exe 被执行。但是 ExecuteAssembly 卡在那里,并且没有执行以下语句。

有什么猜测吗?谢谢

4

1 回答 1

0

AppDomain.ExecuteAssembly()执行程序集并在程序集完成时.exe完成。我有一个 Sleep(Infinite) 使组装无法完成。

于 2013-08-19T13:41:21.800 回答