c# - 将运行一个程序所需的几个文件组合成一个可执行文件

标签 c# .net deployment executable

有时我会创建供个人使用的小项目。因此,我只是从我的项目中提取调试目录,并在需要使用我的应用程序时运行可执行文件。我怎样才能合并所有这些文件:

enter image description here

成为一个可执行文件。我知道我可以将该文件夹放在我的 C 驱动器中的某个位置,并有一个指向可执行文件的快捷方式。我只是想知道如何做到这一点。

最佳答案

这里有两点很重要:

  1. 您永远不应分发应用程序的调试版本。始终在“发布”模式下编译您的应用程序的最终版本,即您要让人们使用的应用程序(即使这些人只是您)。

    这样做的原因有很多,很多,但最明显的一个是在“发布”模式下编译将启用编译时和运行时优化,使您的代码能够运行明显更快。

  2. 您在此处显示的文件中只有一个是运行您的应用程序所必需的,即 .EXE 文件本身。这是您唯一需要分发的。其余文件仅提供调试信息并由 Visual Studio 使用。由于您可能不需要在编写应用程序后对其进行调试,因此您根本不需要这些文件。

    事实上,您唯一需要分发.EXE 文件之外的任何内容的情况是您有您的应用程序使用的.DLL 库文件。它们可能是您自己从同一解决方案中的另一个项目创建的库,或者它们可能是其他人编写的库,您正在使用它们为自己的代码提供某些功能。

关于c# - 将运行一个程序所需的几个文件组合成一个可执行文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6097916/

相关文章:

c# - 无法使用Web API中的外部身份验证提供程序创建新用户(Visual Studio 2013 Update 2)

html - 收集所有 Javascript、CSS 和图像以部署网站或应用程序?

C# 等效于 VB 6 DoEvents

java - Eclipse:如何在 Tomcat 上部署引用其他动态 Web 项目的动态 Web 项目

ruby-on-rails - 部署新代码后,如何让 AWS Auto-scaling Group 中的所有实例保持更新?

C# 类型推断因包含默认参数的方法而失败

c# - 如何在 StackOverflowException 捕获之前检测并记录错误

c# - 为什么在 C# 中初始化对象之前分配 null

c# - JavaScriptSerializer - 如何反序列化名称中带有破折号 ("-") 的属性?

c# - 使用 Linq to Entities 执行字符串搜索