C# 安全异常

标签 c# visual-studio securityexception

运行此程序时,我不断收到错误: 发生了“System.Security.SecurityException”类型的未处理异常 附加信息:ECall 方法必须打包到系统模块中。

 class Program{
        public static void Main()
        {
            Brekel_ProBody2_TCP_Streamer s = new Brekel_ProBody2_TCP_Streamer();
            s.Start();
            s.Update();
            s.OnDisable();
        }
    }

我该如何解决这个问题?

Brekel库的重要部分如下:

//======================================
    // Connect to Brekel TCP network socket
    //======================================
    private bool Connect()
    {
        // try to connect to the Brekel Kinect Pro Body TCP network streaming port
        try
        {
            // instantiate new TcpClient
            client = new TcpClient(host, port);

            // Start an asynchronous read invoking DoRead to avoid lagging the user interface.
            client.GetStream().BeginRead(readBuffer, 0, READ_BUFFER_SIZE, new AsyncCallback(FetchFrame), null);

            Debug.Log("Connected to Brekel Kinect Pro Body v2");
            return true;
        }
        catch (Exception ex)
        {
            Debug.Log("Error, can't connect to Brekel Kinect Pro Body v2!" + ex.ToString());
            return false;
        }
    }


    //===========================================
    // Disconnect from Brekel TCP network socket
    //===========================================
    private void Disconnect()
    {
        if (client != null)
            client.Close();
        Debug.Log("Disconnected from Brekel Kinect Pro Body v2");
    }

 public void Update()
{
    // only update if connected and currently not updating the data
    if (isConnected && !readingFromNetwork)
    {
        // find body closest to the sensor
        closest_skeleton_ID = -1;
        closest_skeleton_distance = 9999999f;
        for (int bodyID = 0; bodyID < skeletons.GetLength(0); bodyID++)
        {
            if (!skeletons[bodyID].isTracked)
                continue;
            if (skeletons[bodyID].joints[(int)brekelJoint.waist].position_local.z < closest_skeleton_distance)
            {
                closest_skeleton_ID = bodyID;
                closest_skeleton_distance = skeletons[bodyID].joints[(int)brekelJoint.waist].position_local.z;
            }
        }

        // apply to transforms (cannot be done in FetchFrame, only in Update thread)
        for (int bodyID = 0; bodyID < skeletons.GetLength(0); bodyID++)
        {
            for (int jointID = 0; jointID < skeletons[bodyID].joints.GetLength(0); jointID++)
            {
                // only apply if transform is defined
                if (skeletons[bodyID].joints[jointID].transform != null)
                {
                    // apply position only for waist joint
                    if (jointID == (int)brekelJoint.waist)
                        skeletons[bodyID].joints[jointID].transform.localPosition = skeletons[bodyID].joints[jointID].position_local;

                    // always apply rotation
                    skeletons[bodyID].joints[jointID].transform.localRotation = skeletons[bodyID].joints[jointID].rotation_local;
                }
            }
        }

最佳答案

您似乎正在使用 Unity 库,但试图将其作为独立应用程序运行?

此错误意味着您正在调用 Unity 引擎内实现的方法。您只能在 Unity 中使用该库。

如果您想独立使用它,则需要编译该库而不引用任何 Unity 库,这可能意味着您需要为该库正在使用的任何内容提供实现(例如 MonoBehaviour

http://forum.unity3d.com/threads/c-error-ecall-methods-must-be-packaged-into-a-system-module.199361/

http://forum.unity3d.com/threads/security-exception-ecall-methods-must-be-packaged-into-a-system-module.98230/

关于C# 安全异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30737729/

相关文章:

visual-studio - Visual Studio 2015 更新 3 .NET 4.6.2 Windows 10 周年纪念版

c# - (流利的)NHibernate 安全异常 - ReflectionPermission

c# - 找不到合适的方法来覆盖

c# - 关于圆周率计算程序的问题

c# - 如何比较sql datetime和c#datetime

c# - 如何使用 TextMate 作为我的 IDE 在 C# 中编程?

c# - 在 TeamCity 构建结果中显示 `dnu publish` 异常

python - 如何在 Visual Studio 2017 预览版中使用 tensorflow?

Android读取外部存储给出securityException

java.lang.SecurityException : class "XYZ"'s signer information does not match signer information of other classes in the same package 错误