C# 是否可以将所有需要的文件打包到EXE中?

C# 是否可以将所有需要的文件打包到EXE中?,c#,.net,visual-studio,visual-studio-2010,C#,.net,Visual Studio,Visual Studio 2010,我编写了一个使用第三方dll和模板excel文档的EXE。任何时候有人使用它,他们必须复制所有三个文件(这是一个痛苦) 有没有什么方法可以将所需的所有内容打包到EXE中,这样就只需要担心一个文件?软件安装是一件痛苦的事情,但我认为您可以使用您选择的压缩工具(如winzip)进行xcopy风格的部署和创建自解压可执行文件。您可以在visual studio中将文件添加到项目中,并将生成操作设置为无和复制到输出目录到始终复制 或 您可以将这些文件添加到程序集资源中 我建议先做 另外,对于第三方dll

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


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

软件安装是一件痛苦的事情,但我认为您可以使用您选择的压缩工具(如winzip)进行xcopy风格的部署和创建自解压可执行文件。

您可以在visual studio中将文件添加到项目中,并将
生成操作
设置为
复制到输出目录
始终复制

您可以将这些文件添加到程序集资源中

我建议先做

另外,对于第三方dll:将
复制本地
设置为
,以供参考

在你的项目设置成这样之后。在VS中创建安装项目,它将根据您的需要生成一个exe


是-将它拖到您的项目资源(我的项目>资源选项卡)中,从那里您可以使用
global::resources.resourceFile
(我认为-这可能不是正确的语法,另一种方法是)作为字节流访问它,并从那里本地写入它。

这是用于,至少用于组合程序集。有更多的信息和信息


不过,这其中有几个已知的问题。

@Abe-没错。如其他答案所示,您必须将其作为资源。但是您可以使用ilmerge来构建单个exe。