我用了ILMerge 合并出来了new.exe 但是无法运行 提示“不是有效的win32应用程序“
而且原文件app.exe我是改了图标的,但是生成的new.exe又成了系统默认的图标
请问这是怎么回事?
8 个解决方案
#1
http://www.cnblogs.com/huangcong/archive/2010/03/28/1698973.html
你要注意调用的参数
另外,你需要注意所有的dll必须是托管的dll,并且框架库版本和主程序一致。
你要注意调用的参数
另外,你需要注意所有的dll必须是托管的dll,并且框架库版本和主程序一致。
#2
我用的是混合编程,调用matlab函数,一个是matlab自带的通用的dll,一个是我生成的带有函数的dll
这是托管类型的吗?怎么判断它的框架库版本是不是和主程序一致呢?
#3
matlab的dll应该不是托管dll(基于.net框架的程序集)
#4
在vs查看属性我看到了dll的版本,确实版本不对,一个是2.10.1.0 一个是0.0.0.0
那这个情况下应该怎么合并呢?谢谢
#5
不是dll的版本,而是dll使用的.net的版本。当然,如果dll本身根本不是托管dll,那更不行了。
#6
用BoxedAppPacker
#7
那请问非托管dll就无法融合了?
#8
是的。
所以那个工具叫ILMerge不叫DllMerge
所以那个工具叫ILMerge不叫DllMerge
#1
http://www.cnblogs.com/huangcong/archive/2010/03/28/1698973.html
你要注意调用的参数
另外,你需要注意所有的dll必须是托管的dll,并且框架库版本和主程序一致。
你要注意调用的参数
另外,你需要注意所有的dll必须是托管的dll,并且框架库版本和主程序一致。
#2
我用的是混合编程,调用matlab函数,一个是matlab自带的通用的dll,一个是我生成的带有函数的dll
这是托管类型的吗?怎么判断它的框架库版本是不是和主程序一致呢?
#3
matlab的dll应该不是托管dll(基于.net框架的程序集)
#4
在vs查看属性我看到了dll的版本,确实版本不对,一个是2.10.1.0 一个是0.0.0.0
那这个情况下应该怎么合并呢?谢谢
#5
不是dll的版本,而是dll使用的.net的版本。当然,如果dll本身根本不是托管dll,那更不行了。
#6
用BoxedAppPacker
#7
那请问非托管dll就无法融合了?
#8
是的。
所以那个工具叫ILMerge不叫DllMerge
所以那个工具叫ILMerge不叫DllMerge