我把解决方案移植到2003系统中能调试运行,但就是无法直接运行程序。不知道什么原因。c#xp

解决方案 »

  1.   

    检查文件是否拷贝全了,检查.net framework是否安装正确,检查防病毒软件。
      

  2.   

    进程里有你的程序吗?
    你可以在关键步骤地方弹出几个messagebox,看弹到第几步时不能往下弹了
    逐渐缩小范围,直到定位了问题代码位置
      

  3.   

    支持库这些应该没问题。进程里根本没有。我是能直接在2003中进行调试运行,是不能直接运行程序。我原是在xp中打包后,在2003中安装却发现无法运行。又在2003中安装了vs2008,直接在2003系统中调试看有什么问题,结果能正常,结果还是不能直接运行在2003中编译后的执行文件。
    我这个程序是启动后自动隐藏在系统栏。不知道是不是系统的防火墙问题。这个2003系统装了360企业版。
      

  4.   

    Program.cs 在这个类的main函数中,加日志输入,看一下,执行到第几行代码.我以前遇到过类似问题.把Application.EnableVisualStyles();这句话,注释就正常了,
      

  5.   

    在 mail 函数中输出几个messagebox 看看,能不能正常弹出
      

  6.   

    估计是程序都没启动起来,也没报错,如果是这样的话,我感觉是你运行那台机器的framework版本问题
      

  7.   

    我查到原因了。我限制了只运行一个进程
     Process mobj_pro = Process.GetCurrentProcess();
                Process[] mobj_proList = Process.GetProcessesByName(mobj_pro.ProcessName);
          System.Threading.ThreadExceptionEventHandler(Application_ThreadException);
                if (mobj_proList.Length > 1)
                {
                     MessageBox.Show("本系统已经在运行!", "系统提示", MessageBoxButtons.OK);
                    return;
                    
                }
            但不明白为什么2003中的进程数是2,我取了下mobj_proList.Length的值为2