我正尝试在我的控制台应用程序中的新AppDomain中加载程序集A,该程序具有与默认域相同的基本目录和RelativePath。CreateInstanceAndUnwrap无法加载程序集
当我使用CreateInstanceFrom从A创建一个类型时,它会成功,但是当我使用CreateInstanceAndUnwrap
时,它无法找到包含FileLoadException
的程序集文件。请记住,程序集A.MyType
在其构造函数中调用了程序集B.Typeb
中的方法。两个组件的文件是存在于在执行组件的父文件夹相同的路径(.. \ Mytypes)
_domain = AppDomain.CreateDomain("MyDomain" + Guid.NewGuid(), null, AppDomain.CurrentDomain.SetupInformation);
var mytype = _domain.CreateInstanceAndUnwrap(pathtoassembly, typename);
以下是错误消息:
无法加载文件或程序集” .. \ Mytypes \ A.dll“或它的一个依赖关系。给定的程序集名称或代码库无效。 (从HRESULT异常:0x80131047)`
'CreateInstanceAndUnwrap'将程序集名称作为第一个参数,而不是程序集的路径。此外,路径'.. \ MyTypes'位于应用程序基目录之外,因此在探测程序集时不会使用它。 – 2013-04-08 15:54:46
你将不得不用你从Fuslogvw.exe得到的跟踪来记录你的问题。 – 2013-04-08 17:34:17