使用C#编写的Windows应用程序如何创建可执行文件(.exe)?

5

我创建了一个Visual Studio 2010项目,它创建了一个Windows表单 - 它引用了许多其他的dll文件。

我该如何将它打包成一个单独的.exe文件呢?


你想静态链接一个 DLL 吗? - user142019
你需要创建一个安装文件。 - Rasel
@Rasel:什么?OP想要一个单独的自包含exe文件,而不是安装程序... - Chris Eberle
4个回答

9

ILMerge 是您在使用 /t:exe 选项时需要的工具。

一个示例调用如下所示:

ilmerge.exe exefile.exe [dlls-to-internalize.dll ..] /out:exefile-out.exe /t:exe

可以在这里找到使用 ILMerge 打包多个 dll 并将其内部化的示例:dotlesscss buildfile

更多关于使用 ILMerge 的信息可以在ILMerge 网站上找到。 您也可以通过 NuGetChocolatey 获取它。

它允许您将多个 .NET 程序集打包成一个文件,通过重写引用来实现。如果您正在向某人提供库并且不希望与您正在内部使用的库发生依赖冲突,您还可以将其内部化。


1
+1,不过我必须警告你,ILMerge 对某些 DLL 很挑剔。一般来说还是不错的。 - Chris Eberle

1

如发布的一样,ILMerge是一个选项,另一个选项是来自RedGate的“SmartAssembly”等。

所有这些工具都不能将本地DLL内部化 - 这是Windows API中的限制...因此,任何作为本地DLL的依赖项都必须与EXE一起发布。


-2
 1. Select Configuration Manager and check parameter such as debug/release or x86/new.
    2.Select Release instead of debug from drop down menu near debug button(Visual studio framework).
    3. Click on build and then build yourApplicationName.
    4. Goto Your program folder->bin->release->yourApplicationName.exe.
    5. yourApplicationName.exe is ready to use.
    Thanks

-3

前往您的应用程序 -> bin -> dubug -> 您的应用程序名称.exe 它是自动生成的,但发布文件夹中的exe比调试信息少,因此更快。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接