如何在visual studio或其他构建工具中在一个c#项目中生成dll和exe的混合

本文关键字:项目 一个 dll 混合 exe studio visual 其他 构建 工具 | 更新日期: 2023-09-27 18:05:36

如何在visual studio或其他构建工具中在一个c#项目中生成dll和exe的混合?技术上可行吗?是的,我知道它可以在2个或更多的项目中完成。

如何在visual studio或其他构建工具中在一个c#项目中生成dll和exe的混合

我不确定你的问题的动机是什么,因为你可以参考一个。net可执行文件,如果它是一个dll无论如何,但你可以考虑复制的exe文件到一个dll文件具有相同的名称(是的,这是一个黑客,但不确定你的动机)。

您可以为您的项目使用Visual Studio构建后事件自动执行此过程。这将在每次成功构建时处理创建dll副本:

copy "$(TargetPath)" "$(TargetDir)$(TargetName).dll"

从技术上讲,exe和dll的混合将只是一个exe。使用它作为库没有任何问题,例如在其他项目中引用它。

首先,我们需要清楚,这两个"exe"answers";dll"基本相同,不同之处在于Windows如何与它们交互。

当windows加载一个dll时,它运行初始化代码,然后不去管它。如果应用程序显式引用dll中的函数,则调用它们。另一件事,当dll崩溃时,它不仅自己崩溃,而且应用程序也崩溃,因为dll在父应用程序的内存中运行。

当窗口加载exe时,exe的初始化代码负责创建所谓的"消息泵",这只是一个程序循环,只要应用程序运行就会运行。消息泵从操作系统请求消息。Windows将应用程序作为一个单独的任务来跟踪。它为exe和使用该exe的应用程序分配单独的内存。每个exe运行所在的内存区域称为"进程空间"。

用Visual Basic 5.0开发ActiveX组件
相关文章: