可以在EXE中打包所有需要的文件吗?

时间:2011-05-20 02:43:25

标签: c# .net visual-studio visual-studio-2010

我写了一个使用第三方dll和模板excel文档的EXE。任何时候有人使用它,他们必须复制所有三个文件(这是一个痛苦)。

有什么方法可以将所需的所有内容打包到EXE中,这样只需要担心一个文件吗?

4 个答案:

答案 0 :(得分:2)

这是ilmerge用于组合程序集的东西。有更多信息herehere

虽然有几个已知的问题。

答案 1 :(得分:1)

您可以在visual studio中将项目添加到项目中,并将Build Action设置为None,将Copy to Output directory设置为Copy always

您可以将这些文件添加到装配资源中。 Adding and Editing Resources (Visual C#)

我建议先做第一次。

另外,对于第三方dll:将Copy Local设置为true作为参考。

将项目设置为此后。在VS中创建安装项目,它将根据需要创建一个exe。

How to: Create or Add a Setup Project

答案 2 :(得分:1)

是 - 将其拖入您的项目资源(我的项目>资源标签),然后您可以使用global::Resources.resourceFile访问它(我认为 - 这可能不是正确的语法,另一种选择是{{3 }})作为字节流并从那里本地写入。

答案 3 :(得分:0)

软件安装很痛苦,但我认为您可以使用您选择的压缩工具(如winzip)并创建自解压可执行文件来摆脱xcopy样式部署。