none
C# VS2008 C/S 程序 在Main()中只要一使用 System.Windows.Forms.Application 就出错 RRS feed

  • 问题

  • 做了一个最简单的C/S程序,现在我把窗口全部删除了,只在Main中调用
    System.Windows.Forms.Application.EnableVisualStyles();
    一条语句,
    在部份电脑中报错,而且无法捕获
    using System;
    using System.Collections.Generic;
    并且不能有
    System.Windows.Forms
    但控制台程序又是好的,说明问题出现在System.Windows.Forms中
    我采用反射来做窗口,在
    System.Reflection.Assembly assembly = System.Reflection.Assembly.LoadFile(@"C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Windows.Forms.dll");
                    Type formType = assembly.GetType("System.Windows.Forms.Form");
                    object frmWin = Activator.CreateInstance(formType);
                    System.Reflection.MethodInfo[] methodInfos = formType.GetMethods();
                    System.Reflection.MethodInfo mymethodInfo = null;
                    foreach (System.Reflection.MethodInfo methodInfo in methodInfos)
                    {
                        if (methodInfo.ToString() == "Void Show()")
                            mymethodInfo = methodInfo;
                    }
                    if (mymethodInfo != null)
                        mymethodInfo.Invoke(frmWin, null);
    在我的电脑上是正确的,但是在出错的电脑上提示最后一条Type的参数不能为null

    我修复一下dotnet框架,系统就好了,但是过不了多久,又出现这个问题
    操作系统也重新安装过,但还是有这个错误
    急。。。。。。
    请专家帮忙解决一下

    客户机是域中的一台客户机。当前域中多台主机都出现同样的错误
    每次提示发送错误报告

    AppName: hoterp.exe      AppVer: 1.0.0.0     AppStamp:4c492089

    ModName: kernel32.dll      ModVer: 5.1.2600.5781      ModStamp:49c4f481

    fDebug: 0       Offset: 00012afb

    2010年8月6日 9:33

答案

  • 看样子是 Windows XP 主题服务的问题。我认为与 Framework 无关。请在确保系统为正版的情况下再测试一下,这可能是由于其他第三方软件或恶意程序造成的。


    Mark Zhou
    2010年8月6日 9:38

全部回复

  • 看样子是 Windows XP 主题服务的问题。我认为与 Framework 无关。请在确保系统为正版的情况下再测试一下,这可能是由于其他第三方软件或恶意程序造成的。


    Mark Zhou
    2010年8月6日 9:38
  • 你可能没有开线程的错误捕获。捕获所有的线程错误。

    EnableVisualStyles应该是在窗口调用的吧。

    2010年8月7日 5:01