C# 尝试使用ksp/unity3d二进制文件时出现问题?

C# 尝试使用ksp/unity3d二进制文件时出现问题?,c#,.net,unity3d,C#,.net,Unity3d,我正在尝试使用kerbal空间程序(ksp)二进制文件读入其中一个ksp零件模型,我已在引用下添加了ksp二进制文件和UnityEngine.dll,然后我正在执行以下操作: Planet p = new Planet(); 运行此命令会导致以下安全异常: ECall方法必须打包到系统模块中 我可以绕过或修复此问题吗 编辑: 我发现它不是来自ksp dll,而是来自不整洁的dll,它们使用: [WrapperlessIcall ] [MethodImpl (MethodImpl

我正在尝试使用kerbal空间程序(ksp)二进制文件读入其中一个ksp零件模型,我已在引用下添加了ksp二进制文件和UnityEngine.dll,然后我正在执行以下操作:

Planet p = new Planet();
运行此命令会导致以下安全异常:


ECall方法必须打包到系统模块中

我可以绕过或修复此问题吗

编辑:

我发现它不是来自ksp dll,而是来自不整洁的dll,它们使用:

    [WrapperlessIcall ]
    [MethodImpl (MethodImplOptions.InternalCall)]
    public extern void StopAllCoroutines ();

我需要一种方法来克服这个问题。

methodimpoptions.InternalCall
仅表示
stopallcorroutines
直接在CLR中实现,而不是在BCL(或其他库)中实现。给你


至于修改Unity3D,请不要调用它,您将无法绕过它

ECall方法必须打包到系统模块中。这意味着所有InternalCall类型的调用只能从mscorlib.dll等进行,而不能从用户创建的程序集进行。unity如何调用它们?我需要一种绕过它的方法。您如何将ksp DLL导入到Unity项目中?@S.Richmond我正在将其导入到正常的VS2010项目中