首页 新闻 赞助 找找看

运行.net 程序,提示错误,代码80004005.程序终止。

0
悬赏园豆:20 [已关闭问题] 关闭于 2014-11-12 08:51

试着用纯C/C++写Loader,然后把C#写的一个测试Demo加载进去。

如果VC没有使用CLR类库,就提示没有运行环境,这个好理解。给VC加了一个CLR库,然后提示80004005错误。

 

按PE格式加载,我试过,如果加载的是用VC++写的Console或者Form程序,都正常的。但是,加载C#写的程序,就会有问题。不管是Console还是Form程序。

 

我是不是少了什么?

硬盘很大的主页 硬盘很大 | 初学一级 | 园豆:16
提问于:2014-03-12 09:34
< >
分享
所有回答(1)
0

1、你的NET能不能单独运行?还是只在C++LOADER里面不能运行?

2、常见的80004005错误解决方法:http://www.jz123.cn/text/182.html

你试着将与数据库相关的代码先屏蔽试试。

爱编程的大叔 | 园豆:30839 (高人七级) | 2014-03-12 09:54

独立是可以运行的。独立没问题。只是一个简单的DEMO,尝试了的DEMO包括一个简单的Console,和 一个简单的WinFOrm,只是初始建立的那个样子,我甚至把Console的所有头都去掉,所有引用都去掉,还是问题。

另外,我没用数据库,我只是想把我C#写的程序,使用自己的加载器加载运行。加载器加载VC++和MFC的程序,都是没问题,涉及到.net framework库,就有问题。所以,我怀疑是跟找不到运行环境库有关。但是,如果找不到的话,会直接报没有运行环境,现在应该是找到了库。

 

网络上可能是权限问题,我使用管理员运行还是一样结果。

我也试过把程序放在.net framework的目录下面跑,还是找不到,甚至,我把framework的那些DLL文件都COPY到程序目录下面,还是一样的结果。

 

所以,我怀疑是不是需要把什么库或者DLL文件,放在Loader里面,然后自己组织路径。。。

 

支持(0) 反对(0) 硬盘很大 | 园豆:16 (初学一级) | 2014-03-12 10:12

以前说过,飞信是使用自己写的虚拟机,这个应该是比较老的信息,好几年前就听说,飞信里面好像是有个虚拟机。

如果我把自己写的Loader自己加个虚拟机,应该也可以,但是,最好不要。

 

飞信的虚拟机好像是2。0的,而且是比较老版本的飞信。

网络上能找的方法,我都找了,才过来提问的。

支持(0) 反对(0) 硬盘很大 | 园豆:16 (初学一级) | 2014-03-12 10:14
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册