none
VS2010用C#调用自己写的类库写的程序 发布的程序不能运行 RRS feed

  • 问题

  • 我自己写了一个类库是,用VS2010 C#调用这个类库写了一个程序,在开发的机器上运行都没问题。编译成release版本后,发布到一个没有VS2010环境的机器上测试,在机器上安 装.NetFramewok 4.0运行就总是失败,如果我把程序中调用类库的代码注释掉,在那些机器上就能运行,这个可能是什么问题?

    (类库和C#程序都是.NetFramework4.0)

    拿之前VS2005写的一样的程序,在这些机器上测试就没问题。

    2011年6月16日 3:00

全部回复

  • 你自己写了一个类库的是那个版本的框架?

    建议安装这个版本的框架后试试。

     


    family as water
    2011年6月16日 6:14
  • 我是直接把原来VS2005 用.NET FRAMEWORK 2.0的工程,用VS2010打开,然后直接编译生成4.0框架的类库。

    不知道这个操作有什么需要注意的地方?

    2011年6月16日 7:38
  • 调用这个类库的C#示例程序,在引用中添加进自己的类库,然后在一个没有VS2010开发环境的机器上运行,示例程序第一句都没有执行,直接就出错了,如果把示例程序中调用类库的代码注释掉就可以执行。感觉是不是添加类库或者编译C#示例的时候有什么需要设置的吧?
    2011年6月16日 8:07
  • 失败提示什么错误信息?


    如果你有其它意见或私下交流,请发送邮件到:maledong@qq.com;或者请讨论
    下载MSDN桌面工具(Vista,Win7)
    下载Technet桌面小工具(Vista,Win7)
    慈善点击,点击此处
    2011年6月16日 8:30
    版主
  • 一个控制台的示例程序,调用我自己的类库my_class.dll,示例程序第一句就是一个MessageBox,但是也没弹出对话框,根本就还没走到new的那句,程序就出错了。如果把我调用这个类库的语句注释掉,程序就可以运行。这个程序在一些系统上会崩溃。

    Unhandled Exception: System.IO.FileNotFoundException: Could not load file or assembly 'my_class.dll' or one of its dependencies. 找不到指定的模块。   at Sample.Program.Main(String[] args)

    2011年6月16日 8:56
  • 看起来是您的程序集 my_class.dll 文件不在  bin 目录下面,把它手动拷贝到 bin 目录下 (与发布的程序在同一目录) 然后再尝试运行。
    Mark Zhou
    2011年6月16日 9:49
  • 看起来是您的程序集 my_class.dll 文件不在  bin 目录下面,把它手动拷贝到 bin 目录下 (与发布的程序在同一目录) 然后再尝试运行。
    Mark Zhou
    在bin目录下,不在bin目录下报的错误是“系统找不到制定的文件”,现在报“找不到制定的模块”。。。不知道是类库的问题还是C#工程的问题。
    2011年6月16日 11:38
  • 我是直接把原来VS2005 用.NET FRAMEWORK 2.0的工程,用VS2010打开,然后直接编译生成4.0框架的类库。

    不知道这个操作有什么需要注意的地方?


    修改了项目属性的目标框架吗?
    http://feiyun0112.cnblogs.com/
    2011年6月20日 2:48
    版主
  • 1.看看机器上运行的.framework的版本和你的dll的版本是否一致
    2.尝试用debug的版本看看错误信息,确定问题出在什么地方
    天行健,君子当自强不息!
    2011年7月14日 9:07
  • dear

    将.NET4的专案资料夹全改成英文!!!


    秘訣無它,唯勤而已 http://www.dotblogs.com.tw/yc421206/
    2011年7月16日 8:09