vs2010 c#发布程序 为什么会生成exe.manifest
vs2010c#窗体发布程序为什么会生成main1.exe.manifest我把发布的程序(整个程序文件夹)移植其他电脑后,无法打开,会报错但是我把文件夹内的main1....
vs2010 c#窗体发布程序 为什么会生成main1.exe.manifest
我把发布的程序(整个程序文件夹)移植其他电脑后,无法打开,会报错
但是我把文件夹内的main1.exe.manifest删除后,main1.exe就能正常打开
请问发布程序的时候 能否不生成main1.exe.manifest?
main1是我项目的名字 展开
我把发布的程序(整个程序文件夹)移植其他电脑后,无法打开,会报错
但是我把文件夹内的main1.exe.manifest删除后,main1.exe就能正常打开
请问发布程序的时候 能否不生成main1.exe.manifest?
main1是我项目的名字 展开
3个回答
展开全部
你是WIN7以上的系统吧,可以看作生成的manifest是你包含的DLL资源列表,程序执行的时候会优先搜索这个文件找到对应的DLL的。你移植到别的电脑的时候,程序搜索这个文件,但是没有找到对应的DLL(这里的DLL包含了你开发环境所用到的DLL,但是对程序执行没有影响),就会报错,所以你删除掉会发现程序可以执行了,但是这样做会有很大问题的。建议你编译的时候选择生成包含所有DLL(静态使用DLL而不是共享)。
追问
感谢回答! 我在x86上制作的程序 假定dll叫 abc.dll 如果一直到64位上去,叫abc64.dll 我应该在原文件中怎么处理保证其兼容性呢?
展开全部
回答一下楼主的追问:一般都是构建一个32位一个64位两个版本的包。
如果你的exe只弄一个32位,但是想dll弄64位,我不知道行不行,如果可以的话你就得运行时检测系统32位还是64位,再动态加载dll。
如果你的exe只弄一个32位,但是想dll弄64位,我不知道行不行,如果可以的话你就得运行时检测系统32位还是64位,再动态加载dll。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
换成release就不会了
追问
现在release也有了
追答
你发布程序的时候,把debug文件夹中不相关的全部删除. 单独一个exe就可以运行的.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询