vs2010 c#发布程序 为什么会生成exe.manifest

vs2010c#窗体发布程序为什么会生成main1.exe.manifest我把发布的程序(整个程序文件夹)移植其他电脑后,无法打开,会报错但是我把文件夹内的main1.... vs2010 c#窗体发布程序 为什么会生成main1.exe.manifest
我把发布的程序(整个程序文件夹)移植其他电脑后,无法打开,会报错
但是我把文件夹内的main1.exe.manifest删除后,main1.exe就能正常打开
请问发布程序的时候 能否不生成main1.exe.manifest?

main1是我项目的名字
展开
 我来答
chunjianghao
推荐于2017-09-17 · 超过16用户采纳过TA的回答
知道答主
回答量:47
采纳率:0%
帮助的人:19.1万
展开全部
你是WIN7以上的系统吧,可以看作生成的manifest是你包含的DLL资源列表,程序执行的时候会优先搜索这个文件找到对应的DLL的。你移植到别的电脑的时候,程序搜索这个文件,但是没有找到对应的DLL(这里的DLL包含了你开发环境所用到的DLL,但是对程序执行没有影响),就会报错,所以你删除掉会发现程序可以执行了,但是这样做会有很大问题的。建议你编译的时候选择生成包含所有DLL(静态使用DLL而不是共享)。
追问
感谢回答! 我在x86上制作的程序 假定dll叫 abc.dll   如果一直到64位上去,叫abc64.dll 我应该在原文件中怎么处理保证其兼容性呢?
earth西坡乡
2020-07-21
知道答主
回答量:45
采纳率:0%
帮助的人:1.7万
展开全部
回答一下楼主的追问:一般都是构建一个32位一个64位两个版本的包。

如果你的exe只弄一个32位,但是想dll弄64位,我不知道行不行,如果可以的话你就得运行时检测系统32位还是64位,再动态加载dll。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Sxzy灬丨小柒
2014-10-29 · TA获得超过623个赞
知道小有建树答主
回答量:1223
采纳率:50%
帮助的人:276万
展开全部
换成release就不会了
追问
现在release也有了
追答
你发布程序的时候,把debug文件夹中不相关的全部删除. 单独一个exe就可以运行的.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式