我正在使用C#Express 2010.我使用免费的VIBlend Edit控件创建了一个WPF应用程序,这些控件使用相应的dll,是否可以创建一个独立的可执行文件? 我想只将exe复制到另一台机器(当然是安装了框架),但我不想复制dll!
答案 0 :(得分:3)
尝试使用ILMerge
答案 1 :(得分:1)
<强> ILMerge 强>
以下是有关ILMerge的一些资源,您可能会发现这些资源有用:
使用GAC
您可以做的是在客户端计算机上的全局程序集缓存(GAC)中注册DLL,这样就可以使用那里的程序集。
但是他们必须安装到GAC中。
修改强>
似乎我错了,但我强烈建议不要将第三方dll包含在一个可执行文件中,因为许可协议可能不允许这样做。
答案 2 :(得分:0)
除非您拥有库的源代码,否则他们愿意花时间解决将代码合并到可执行程序集中时遇到的所有问题。
如果您使用产品合并程序集(例如SmartAssembly),那么您可以将它们全部合并到一个EXE中,但SmartAssembly不是免费的。 (但这是一个很棒的产品,它不仅仅是合并程序集)
答案 3 :(得分:0)
第3个选项(来自已经提到的两个选项)是将整个内容打包到安装程序(MSI)中。这仍然需要DLL在某处(在app文件夹或GACd中),但它以更受控制的方式呈现给客户端。他们只是安装包。
答案 4 :(得分:0)
.NET支持开箱即用。请参阅this guide如何使用。