When I run this program, I get an error all the time: An exception of type "System.Security.SecurityException" is fixed. Additional information: ECall methods must be packed into the system module.
class Program{ public static void Main() { Brekel_ProBody2_TCP_Streamer s = new Brekel_ProBody2_TCP_Streamer(); s.Start(); s.Update(); s.OnDisable(); } }
How can i fix this?
An important part of the Brekel library is as follows:
//====================================== // 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; } } }
c # visual-studio securityexception
Gabriel britcher
source share