.NET + DirectDraw 开发的程序在其他机器运行遇到System.IO.FileNotFoundException

suprer 2014-09-04 05:24:32
本人使用.net 和directdraw 写了个小游戏,开发环境是VS2013+DirectX SDK Jun 2010,在项目中添加引用了directx.dll和directdraw.dll,本机运行一切正常,但是在其他机器(win 7)中就无法启动,错误如下:

---------------------------------------------------
问题签名:
问题事件名称: CLR20r3
问题签名 01: marble_directdraw.exe
问题签名 02: 1.0.0.0
问题签名 03: 5406dd8c
问题签名 04: Microsoft.DirectX.DirectDraw
问题签名 05: 5.4.0.2904
问题签名 06: 40eeb490
问题签名 07: 3b8
问题签名 08: d
问题签名 09: System.IO.FileNotFoundException
OS 版本: 6.1.7601.2.1.0.256.48
区域设置 ID: 2052
其他信息 1: 0a9e
其他信息 2: 0a9e372d3b4ad19135b953a78882e789
其他信息 3: 0a9e
其他信息 4: 0a9e372d3b4ad19135b953a78882e789

联机阅读隐私声明:
http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0804

如果无法获取联机隐私声明,请脱机阅读我们的隐私声明:
C:\Windows\system32\zh-CN\erofflps.txt

----------------------------------------------------------------

即使把directdraw.dll文件复制过去也不行,请问这是为什么呢??
...全文
365 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
於黾 2014-09-05
  • 打赏
  • 举报
回复
引用 6 楼 suprer 的回复:
谢谢各位。在目标机安装directx sdk应该是可行的,可是我想总不能换一台电脑就重新安装一个sdk吧,有什么解决方案比如打包发布之类的呢??
那就把DirectX一起打到包里安装呗.
suprer 2014-09-05
  • 打赏
  • 举报
回复
谢谢各位。在目标机安装directx sdk应该是可行的,可是我想总不能换一台电脑就重新安装一个sdk吧,有什么解决方案比如打包发布之类的呢??
xian_wwq 2014-09-05
  • 打赏
  • 举报
回复
使用DEPENDS查下directdraw.dll依赖的dll是否存在, 感觉是因为缺dll了 不行还是装下directX sdk吧
suprer 2014-09-05
  • 打赏
  • 举报
回复
感谢各位,大致上心里有数了。之前是考虑到GDI+的效率太低,生成的游戏画面帧数太低而且不稳定,才转而使用directdraw,但是现在来看使用directx写游戏,在发布的时候还是挺麻烦的。于是下午重新回到GDI+,认真重构代码,进行优化,现在帧数已经达到要求,唯一就是CPU占用还略高,就只能这样了。 结帖~~
WorldMobile 2014-09-04
  • 打赏
  • 举报
回复
引用 楼主 suprer 的回复:
本人使用.net 和directdraw 写了个小游戏,开发环境是VS2013+DirectX SDK Jun 2010,在项目中添加引用了directx.dll和directdraw.dll,本机运行一切正常,但是在其他机器(win 7)中就无法启动,错误如下: --------------------------------------------------- 问题签名: 问题事件名称: CLR20r3 问题签名 01: marble_directdraw.exe 问题签名 02: 1.0.0.0 问题签名 03: 5406dd8c 问题签名 04: Microsoft.DirectX.DirectDraw 问题签名 05: 5.4.0.2904 问题签名 06: 40eeb490 问题签名 07: 3b8 问题签名 08: d 问题签名 09: System.IO.FileNotFoundException OS 版本: 6.1.7601.2.1.0.256.48 区域设置 ID: 2052 其他信息 1: 0a9e 其他信息 2: 0a9e372d3b4ad19135b953a78882e789 其他信息 3: 0a9e 其他信息 4: 0a9e372d3b4ad19135b953a78882e789 联机阅读隐私声明: http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0804 如果无法获取联机隐私声明,请脱机阅读我们的隐私声明: C:\Windows\system32\zh-CN\erofflps.txt ---------------------------------------------------------------- 即使把directdraw.dll文件复制过去也不行,请问这是为什么呢??
目标计算机重新安装一下DirectX试试
suprer 2014-09-04
  • 打赏
  • 举报
回复
使用VS自己的发布也试过了,依然不行。
wind_cloud2011 2014-09-04
  • 打赏
  • 举报
回复
你是不是复制过去的,用安装包试试。
於黾 2014-09-04
  • 打赏
  • 举报
回复
没有安装derectX?

110,530

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧