使用FileNotFoundException在新的应用程序域中加载程序集失败

时间:2017-09-17 03:33:58

标签: c# mono

加载程序集在默认应用程序域中运行正常(使用Assembly.LoadFrom(dllFile)),但是当我在新的应用程序域中执行此操作时,它会抛出FileNotFoundException

AppDomain ModDomain = AppDomain.CreateDomain("TestTest");
Assembly assembly = ModDomain.Load(dllFile);

我在配置新域时尝试设置ApplicationBase,但它没有效果。

new AppDomainSetup {
    ApplicationBase = "/path/to/dll/folder"
}

我尝试了绝对路径和相对路径,并且我已经玩弄了PrivateBinPathPrivateBinPathProbe属性,没有运气。

我可能会遗失什么?

修改

当我使用提到的ApplicationBase和程序集名称时,错误包含了更多的汇编信息,它以某种方式获得:

  

FileNotFoundException:无法加载文件或程序集' TestMod,Version = 1.0.6468.36459,Culture = neutral,PublicKeyToken = null'或其中一个依赖项。系统找不到指定的文件。

然而,当我使用任何其他文件路径变体或AppDomainSetup变体时,它只是说:

  

FileNotFoundException:无法加载文件或程序集' TestMod'或其中一个依赖项。系统找不到指定的文件。

所以,一个版本似乎比其他版本更了解我的装配。

问题是,我在Mono 2.0上,所以我很难找到正确设置权限的例子......如果这是原因。

0 个答案:

没有答案