我有一个应用程序(app1)加载另一个应用程序(app2),如下所示:
this._appDomain.ExecuteAssembly(assemblyName);
执行该行时出现此错误:
无法加载文件或程序集 Foo...
App2 引用了 Foo。如果我在 app1 中添加对 Foo 的引用,它就可以工作。问题是我不希望 app1 引用 Foo。App1 的主要目的是在网络共享上检测 app2 的新版本,卸载 app2,复制新的二进制文件,然后使用上面的行再次启动 app2。之后,如果 app1 中有旧的 Foo ,那么 app2 将在它自己的运行目录中使用它而不是 Foo 。
我怎样才能使它只有 app2 引用 Foo,但 app1 仍然会加载 app2 而不会出现该错误?
注意:我正在使用卷影复制,并且当 app1 引用 Foo 时它正在工作。
appDomainSetup.ShadowCopyFiles = "true";