首页 新闻 搜索 专区 学院

发布问题,Exception from HRESULT: 0x8007000B)

0
[已解决问题] 解决于 2015-02-12 12:30

s项目属性上面选的是Any CPU,我的电脑是64位的操作系统能够正常运行,我把它改成x86,也能运行,但是,我把我的程序发布到64位的服务器系统中,就不能运行了,怎么样才能解决呢?

魔女小溪的主页 魔女小溪 | 初学一级 | 园豆:38
提问于:2014-02-18 14:52
< >
分享
最佳答案
0

你是托管在  IIS 中的吗?

奖励园豆:5
Launcher | 高人七级 |园豆:45045 | 2014-02-18 15:04

非托管的dll

魔女小溪 | 园豆:38 (初学一级) | 2014-02-18 15:08

@魔女小溪: C++ 的吗?如果是的话,修改为 64 位的话,你需要注意你的代码中对整形大小的使用,包括指针的大小。

我假设你使用的是 VC++ 2010,那么部署到其它机器时,你可能还需要将 VC 安装目录下的 msvrcr100.dll(dubug 位 msvcr100d.dll) 等拷贝目标机器。

Launcher | 园豆:45045 (高人七级) | 2014-02-18 15:23

c#

魔女小溪 | 园豆:38 (初学一级) | 2014-02-18 15:25

@魔女小溪: 确定目标机器安装了 x64 版本的 .Net Framework。

Launcher | 园豆:45045 (高人七级) | 2014-02-18 15:26

@Launcher: IIs里面可以设置使用32位的

魔女小溪 | 园豆:38 (初学一级) | 2014-02-26 10:59

@魔女小溪: 编译成 x86,然后在 IIS 中设置为 32 位。

Launcher | 园豆:45045 (高人七级) | 2014-02-26 11:07

@Launcher: 恩恩,我试试

魔女小溪 | 园豆:38 (初学一级) | 2014-02-26 11:08

@Launcher: 我把项目发布到测试服务器上面,也是可以的,我对比了一下测试服务器和正式服务器的配置,好像就是内存大了些

魔女小溪 | 园豆:38 (初学一级) | 2014-02-26 11:11

在测试服务器上面,我就是在IIs里面设置了一下那个是否启用32位程序这选项,结果就成功了,我以为正式服务器上面应该也是这样的,我去设置了,但是,还是不行

魔女小溪 | 园豆:38 (初学一级) | 2014-02-26 11:12
其他回答(3)
0

改成X64的,编译一次,再试试呗 

哇~怪兽 | 园豆:603 (小虾三级) | 2014-02-18 14:54

我在本机改成了x64,这样一来,连我自己本机都不能正常运行了。。。

支持(0) 反对(0) 魔女小溪 | 园豆:38 (初学一级) | 2014-02-18 14:56

@魔女小溪: 不能就不能呗,能编译就行呗,编译完成,在发布到服务器试试

支持(0) 反对(0) 哇~怪兽 | 园豆:603 (小虾三级) | 2014-02-18 14:58

@哇~怪兽: 好

支持(0) 反对(0) 魔女小溪 | 园豆:38 (初学一级) | 2014-02-18 14:59

@哇~怪兽: 还是不行

支持(0) 反对(0) 魔女小溪 | 园豆:38 (初学一级) | 2014-02-18 15:03

@魔女小溪: 错误信息呢 

支持(0) 反对(0) 哇~怪兽 | 园豆:603 (小虾三级) | 2014-02-18 15:04

@哇~怪兽: 同样的信息

支持(0) 反对(0) 魔女小溪 | 园豆:38 (初学一级) | 2014-02-18 15:07
0

还要看看引用的DLL

吴瑞祥 | 园豆:28841 (高人七级) | 2014-02-18 14:59

怎么说?

支持(0) 反对(0) 魔女小溪 | 园豆:38 (初学一级) | 2014-02-18 15:01
0

检查第三方dll !!!

飞扬的尘埃 | 园豆:1318 (小虾三级) | 2014-03-11 16:15

怎么检查?

支持(0) 反对(0) 魔女小溪 | 园豆:38 (初学一级) | 2014-03-12 09:13

@魔女小溪:

参考这篇:http://www.cnblogs.com/hbccdf/p/dllchecktoolandsyswow64.html

支持(0) 反对(0) 飞扬的尘埃 | 园豆:1318 (小虾三级) | 2014-03-12 09:28

@飞扬的尘埃: 有点看的晕的说。。。

支持(0) 反对(0) 魔女小溪 | 园豆:38 (初学一级) | 2014-03-12 09:47

@魔女小溪: 简单的说,就是检查你项目中引用的第三方dll是x86版本还是64版本。从你描述的情况来看,应该是某个dll只有x86版本造成的。

这里说的第三方dll,除了你引用到项目中的dll,还包括系统环境中安装的dll,例如VC运行库等。

上面那个链接是提供一种自行检查dll版本的方法。

支持(0) 反对(0) 飞扬的尘埃 | 园豆:1318 (小虾三级) | 2014-03-12 09:57
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册