0

我正在尝试执行以下操作:

m_appDomain = AppDomain.CreateDomain("Plugin AppDomain", null, new AppDomainSetup {PrivateBinPath = PluginActivator.SandboxFolder, PrivateBinPathProbe = "x"});    
PluginActivator activator = m_appDomain.CreateInstanceAndUnwrap(typeof(PluginActivator).Assembly.GetName().Name, typeof(PluginActivator).FullName) as PluginActivator;    

但是,由于PrivateBinPathProbe设置为 true,第二行根本不查看应用程序库,并立即崩溃(FileNotFoundException在运行上述代码的可执行文件上)。

AssemblyResolve我尝试在第二行之前附加一个处理程序:

m_appDomain.AssemblyResolve += OnAssemblyResolve;

目的是让AssemblyResolve处理程序手动进入ApplicationBase并加载所有需要的程序集。这导致应用程序崩溃并出现相同的错误。

我无法更改探测目录的顺序。我该如何解决这个问题?

编辑:

我知道这个问题不是很清楚,但我无法理解问题是什么,所以很难更清楚。首先,我不明白为什么我刚刚创建的新 AppDomain 甚至需要对应用程序可执行文件的引用。如果您希望我澄清任何事情,请告诉我。

4

0 回答 0