是用了多线程吗?是的话试试checkforillegalcall=false;/或者委托调用。

解决方案 »

  1.   

    你使用指针了吧。
    C#中使用指针的代码必须用unsafe扩起来。并且项目属性中Enable "Allow unsafe code" (Build页)
    // cs_unsafe_keyword.cs
    // compile with: /unsafe
    using System;
    class UnsafeTest 
    {
       // unsafe method: takes pointer to int:
       unsafe static void SquarePtrParam (int* p) 
       {
          *p *= *p;
       }
       unsafe public static void Main() 
       {
          int i = 5;
          // unsafe method: uses address-of operator (&)
          SquarePtrParam (&i);
          Console.WriteLine (i);
       }
    }或者
    unsafe
    {
       //使用指针
    }
    参考:
    http://msdn.microsoft.com/en-us/library/chfa2zb8(VS.71).aspx
    http://msdn.microsoft.com/en-us/library/t2yzs44b(VS.80).aspx