我原来电脑上的C#程序能够正常运行,装的软件是SQL SERVE2000和VS2008.现在换了台新电脑不能够运行了,但是把我的程序发到别人的电脑上就能够正常运行.把我新换的电脑重装系统和相应的软件之后还是报错,具体的错误就是一个自己编写的DLL函数运行时总是报错.具体代码如下:
try
                {
                    filename2 = TongueColor(filename1,
                    svmfilepath,
                    body2.ToString(), coatroot2.ToString(), coatmedi2.ToString(), coattip2.ToString(),
                    area2.ToString(), crack2.ToString(), thick2.ToString(), greesy.ToString(), greesydata.ToString(), shape.ToString());
                }
                catch (Exception ex)
                {
                    MessageBox.Show("无法对此图像进行特征分析,请向检查图像信息!", "注意", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
程序所需要的配置肯定都弄好了,有没有高手给点意见这个可能会是什么问题.

解决方案 »

  1.   

    DLL函数运行时总是报错
    -->
    报什么错误?
      

  2.   

    你应该在异常捕获的时候吧ex.Message保存或提示出来以便查找问题。现在异常时什么都看不到。
      

  3.   

    检查系统环境
    错误信息信息,Exception ex ex.message
      

  4.   

    检查一下的.net运行环境,如果是你自己新加了控件,就会出错
      

  5.   

    Exception ex ex.message 这句话什么意思,怎么加到程序里面?
      

  6.   

    改为:
    try
    {
    filename2 = TongueColor(filename1,
    svmfilepath,
    body2.ToString(), coatroot2.ToString(), coatmedi2.ToString(), coattip2.ToString(),
    area2.ToString(), crack2.ToString(), thick2.ToString(), greesy.ToString(), greesydata.ToString(), shape.ToString());
    }
    catch (Exception ex)
    {
    //MessageBox.Show("无法对此图像进行特征分析,请向检查图像信息!", "注意", MessageBoxButtons.OK, MessageBoxIcon.Error);
    MessageBox.Show(ex.Message);
    }看看提示的错误是什么
      

  7.   

    按8楼说的方法,看看报的什么错。
    或者用调试,看看ex.Message是什么内容。
      

  8.   


    错误提示为:无法加载DLL"MYDLL.dll":找不到指定的模块(异常来自HRESULT:0X8007007E),到底哪里出了问题?
      

  9.   

    我明明把DLL文件放在DEBUG文件夹下面了,为什么还找不到呢?
      

  10.   

    看到网上的一些类似的解答,看不明白是什么意思,
    1)确认.net版本正确。2.0 3.5 1.0是不同的
    (2)库引用的库,有没有依赖项
    (3)是否是强引用,注册到gac 
    //////////////////
    dll bin目录
    手工注册dll
    版本问题
    有谁给解释下..
      

  11.   

    问题解决了缺少MSVCRTD.DLL,MFC42D.DLL,MFC042D.DLL文件.