Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法在新appdomain中加载C模块_C#_Com_Appdomain - Fatal编程技术网

C# 无法在新appdomain中加载C模块

C# 无法在新appdomain中加载C模块,c#,com,appdomain,C#,Com,Appdomain,我有一些.NET代码需要在单独的AppDomain中运行,除了调用COM组件外,一切都很顺利。 为了清楚起见,我写了一篇非常简单的报告如下: AppDomain ap = AppDomain.CreateDomain("newap"); ap.DoCallBack( () => { //GroupPolicyObject is from assembly microsoft.grouppolicy.management.interop.dll

我有一些.NET代码需要在单独的AppDomain中运行,除了调用COM组件外,一切都很顺利。
为了清楚起见,我写了一篇非常简单的报告如下:

AppDomain ap = AppDomain.CreateDomain("newap");
ap.DoCallBack(
    () =>
    {
        //GroupPolicyObject is from assembly microsoft.grouppolicy.management.interop.dll
        GroupPolicyObject newGPO = new GroupPolicyObject();
    });
例外情况:

System.TypeInitializationException:的类型初始值设定项 “”引发了异常。--> 模块化:C++模块失败 在尝试初始化默认appdomain时加载。--> System.Runtime.InteropServices.COMException:操作无效。 (来自HRESULT的异常:0x8013022)位于 System.Runtime.InteropServices.Marshal.ThroweExceptionForhr内部(Int32 错误代码,IntPtr errorInfo)位于 .GetDefaultDomain()位于 .DoCallBackInDefaultDomain(IntPtr函数, Void*cookie)在 .LanguageSupport.\u初始化(LanguageSupport* )在 .LanguageSupport.Initialize(语言支持* )---内部异常堆栈跟踪的结束---at .ThrowModuleLoadException(字符串 错误消息,异常(内部异常)位于 .LanguageSupport.Initialize(语言支持* )at.cctor()

代码可以在默认域中传递,并且不应该是与.NET framework版本相关的问题


我在互联网上做了很多搜索,但是没有有用的解决方案。有人知道问题出在哪里以及如何解决吗?

最后我通过添加

  <startup useLegacyV2RuntimeActivationPolicy="true">
  <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/>
  </startup>

在cofig文件中


这是非常有用的。

仅仅因为它在默认AppDomain中工作并不意味着它不是由于.NET Framework版本。尝试创建一个独立的复制器,然后尝试.NET 2.0和4.0。是的,我已经尝试了这两种,但结果相同。