求教怎么将第三方控件编译到exe当中 有源码

liasica 2014-10-25 01:32:20
我自己做了个小程序用的FirstFloor.ModernUI做的
我不想生成FirstFloor.ModernUI.dll官网有下载源码
请问怎么做才能把它编译到exe里面而不是附带一个dll呢?
...全文
231 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
泡泡龙 2014-10-25
  • 打赏
  • 举报
回复
BoxedAppPacker 打包就行
liasica 2014-10-25
  • 打赏
  • 举报
回复
引用 3 楼 github_22161131 的回复:
三种方案: 1. 拿到源码,添加到自己的工程里面,编译。如果需要修改源码或者代码很少的话可以用这种方案,但是源码可能会有各种情况编译不成功,增加了工作量。 2. 程序集合并。用像 ILMerge 之类的工具将依赖的dll合并到你的程序集里。一般情况可以,但是如果你的程序使用反射或者依赖的dll里面使用反射,可能会有问题,因为这个时候对第三方dll中的代码来说,程序集信息改变了,第三方dll的开发者一般不会测试这种情况。尤其在WPF上,xaml被编译成二进制的baml后是带着原来程序集信息的,程序集信息改变会出问题。 3. 程序集嵌入。用像 LibZ 之类的工具把依赖的dll作为资源嵌入到你的程序里。这样第三方dll还能作为原有的程序集存在,最不容易出问题。我推荐这种方案。
刚才参照官方文档用了一下好像不行...
liasica 2014-10-25
  • 打赏
  • 举报
回复
引用 5 楼 feixuyue 的回复:
程序集嵌入,运行时解压,动态引用
请问要怎么做?
feixuyue 2014-10-25
  • 打赏
  • 举报
回复
程序集嵌入,运行时解压,动态引用
winnowc 2014-10-25
  • 打赏
  • 举报
回复
三种方案: 1. 拿到源码,添加到自己的工程里面,编译。如果需要修改源码或者代码很少的话可以用这种方案,但是源码可能会有各种情况编译不成功,增加了工作量。 2. 程序集合并。用像 ILMerge 之类的工具将依赖的dll合并到你的程序集里。一般情况可以,但是如果你的程序使用反射或者依赖的dll里面使用反射,可能会有问题,因为这个时候对第三方dll中的代码来说,程序集信息改变了,第三方dll的开发者一般不会测试这种情况。尤其在WPF上,xaml被编译成二进制的baml后是带着原来程序集信息的,程序集信息改变会出问题。 3. 程序集嵌入。用像 LibZ 之类的工具把依赖的dll作为资源嵌入到你的程序里。这样第三方dll还能作为原有的程序集存在,最不容易出问题。我推荐这种方案。
notax 2014-10-25
  • 打赏
  • 举报
回复
ILMerge或ilrepack,或 Costura.Fody
threenewbee 2014-10-25
  • 打赏
  • 举报
回复
用ILMerge

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧