c# – 程序仅适用于某些PC,DLL丢失了吗?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c# – 程序仅适用于某些PC,DLL丢失了吗?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1416字,纯文字阅读大概需要3分钟。
内容图文
![c# – 程序仅适用于某些PC,DLL丢失了吗?](/upload/InfoBanner/zyjiaocheng/749/64f908840e224883a317f6da6f6d3bef.jpg)
我用VS10写了以下项目:
>一个C#(.net 4.0)程序调用
>一个C非托管DLL,它使用boost :: thread
>一个安装项目,包括C#可执行文件,C dll,boost :: thread dll和一些其他文件.此外,在安装过程中还会检查是否安装了框架.net 4.0,如果没有,则会进行下载.
编译(三个项目中的每个项目的x64)都可以,并且该程序可以在我的电脑上运行(Windows 7 64位).
我在其他一些计算机上测试了该程序(所有Windows 7 64位),我注意到:
>在VS10和Boost的程序中工作
>在没有VS10和Boost的程序中,程序在C Dll中出错
我认为问题在于缺少一些提升Dll.我对吗?
或者问题可能与VS有关?
编辑:
我必须提到该程序的结构如下:
>主要表单(C#),其中设置了一些参数,然后backgroudworker调用
> C DLL做它的东西,并使用boost :: thread
>它做了一些计算
>当它得到一些结果时,将它们写入文件
>继续计算等等
>主窗体有一个filesystemwatcher,它查找结果文件并对结果做一些处理.
此外,当我收到错误时,主窗体正确加载并可以设置参数.当backgroundworker开始工作(调用C DLL)时会发生错误.
所以我很确定框架安装没有问题.
更新:
事实证明,我忘了在安装项目中包含一些DLL.现在,包括他们的错误已经改变.
现在,和以前一样(在同一台计算机上)我得到另一个错误:
BadImageFormatException: An attempt was made to load a program with an
incorrect format
我读了this article,但我在C#项目和C DLL中都设置了x64,安装项目的目标是TargetPlatform x64.任何的想法?
解决方法:
目标计算机上缺少VCRedist包.它应该在VS SDK目录中可用.您还可能需要在目标计算机上安装.Net Framework(.Net Framework包含VCRedist包).如果你没有那些安装文件,它们可以在微软网站上获得,即x64的VC10Redist是here
内容总结
以上是互联网集市为您收集整理的c# – 程序仅适用于某些PC,DLL丢失了吗?全部内容,希望文章能够帮你解决c# – 程序仅适用于某些PC,DLL丢失了吗?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。