使用createInstanceFromUnWrap方法在新的应用程序域中加载程序集时,我们遇到了一些问题。
我为此问题(PFB)添加了实际代码和内部异常消息。但是我们怀疑此错误与程序集加载方法无关。请让我知道如何为appdomain创建实例获取异常以及解决此问题的方法。
var domainSetup = new AppDomainSetup {
CachePath = cache,
ShadowCopyDirectories = drivers,
ShadowCopyFiles = "true",
ConfigurationFile =
AppDomain.CurrentDomain.SetupInformation.ConfigurationFile,
ApplicationBase = AppDomain.CurrentDomain.BaseDirectory
};
domain = AppDomain.CreateDomain(domainName,
AppDomain.CurrentDomain.Evidence, domainSetup);
Drivers = (T)domain.CreateInstanceFromAndUnwrap(dllPath, typeof(T).FullName);
错误 YYYYYYYY错误Exception:System.TypeInitializationException:'NLog.LogManager'的类型初始值设定项引发了异常。 ---> System.IO.FileLoadException:加载此程序集将产生与其他实例不同的授予集。 (来自HRESULT的异常:0x80131401) 在NLog.LogFactory..ctor() 在NLog.LogManager..cctor() ---内部异常堆栈跟踪的结尾--- 在NLog.LogManager.GetCurrentClassLogger() 在YYYYYYYY.YYYYYYYY.YYYYYYYY.YYYYYYYY..ctor()
在System.RuntimeTypeHandle.CreateInstance(运行时类型类型,布尔publicOnly,布尔noCheck,布尔&canBeCached,RuntimeMethodHandleInternal和ctor,布尔&bNeedSecurityCheck) 在System.RuntimeType.CreateInstanceSlow处(布尔publicOnly,布尔skipCheckThis,布尔fillCache,StackCrawlMark和stackMark) 在System.Activator.CreateInstance(Type type,Boolean nonPublic) 在System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr,活页夹活页夹,Object [] args,CultureInfo文化,Object [] activationAttributes,StackCrawlMark&stackMark) 在System.Activator.CreateInstance(类型类型,BindingFlags bindingAttr,活页夹装订器,Object [] args,CultureInfo文化,Object [] activationAttributes) 在System.Activator.CreateInstanceFromInternal(String assemblyFile,String typeName,Boolean ignoreCase,BindingFlags bindingAttr,活页夹活页夹,Object [] args,CultureInfo文化,Object [] activationAttributes,证据securityInfo) 在System.Activator.CreateInstanceFrom(String assemblyFile,String typeName,Boolean ignoreCase,BindingFlags bindingAttr,活页夹装订器,Object [] args,CultureInfo文化,Object [] activationAttributes)中 在System.Activator.CreateInstanceFrom(String assemblyFile,String typeName,Object [] activationAttributes) 在System.AppDomain.CreateInstanceFromAndUnwrap(String assemblyName,String typeName) 在System.AppDomain.CreateInstanceFromAndUnwrap(String assemblyName,String typeName) 在YYYYYYYY.YYYYYYYY.YYYYYYYY.YYYYYYYY.YYYYYYYY`1..ctor() 在YYYYYYYY.YYYYYYYY.YYYYYYYY.YYYYYYYY.YYYYYYYY(字符串tempDir) 位于YYYYYYYY.YYYYYYYY.YYYYYYYY.YYYYYYYY.YYYYYYYY(流包)