将单个C#程序划分为多个程序集
在Visual Studio,以及C#,Visual Basic .NET和其他.NET语言中,一个项目等于一个编译的模块 - 否则称为.NET中的组件。
单词模块和组装具有稍微不同的技术含义,但仅对高级程序员。
可执行文件或者库 ?
可执行(
.EXE
):一个程序中包含一个程序Main()
方法。我们可以双击a.EXE
例如,Windows资源管理器中的文件并导致它运行。可执行程序集经常使用其他程序集中的库中的支持代码。类库(
.DLL
强>):其他程序可以使用的编译函数库。每个计划都需要System
课程。库 被安置在DLL组件中。
库没有可执行文件 - 我们无法直接运行。
相反,我们必须从可执行文件或者另一个库调用代码。
运行Cprograms的公共语言运行时(CLR)将库组件加载到内存中。
要知道的重要概念是我们可以轻松地编写自己的类库。
编译
属于单个项目的编译版本的程序集包含特殊格式的项目代码,以及一堆元数据,或者有关装配中类的详细信息。
本节介绍了组件,因为他们对我们对CBuild流程的理解进行了彻底了解 - 并且它们在讨论名称空间和访问关键字中发挥作用 protected
和 internal
。
大会也在了解类库中发挥着重要作用。
CCompiler将项目的CCODE转换为常见的中间语言(通常被称为IL),该语言存储在适当类型的装配文件中。
IL类似于汇编语言(超出机器语言中使用的1S和0s的一步),铁杆编程器已经使用了几十年来"靠近金属",因为他们的更高级别的语言无法做到他们所需要的或者编译器无法做到'T产生最有效的代码。
从.NET编译到IL的一个主要结果,无论语言如何,都可以使用以不同语言编写的组件。
例如,Cprogram可以在最初写入Visual Basic或者C ++或者Cprogram中的组件中呼叫方法,或者Cprogram可以子类vB类。
可执行文件
我们可以以各种方式运行可执行程序集:
在Visual Studio中运行它们:选择调试→开始调试(F5)或者调试→启动而无需调试(Ctrl + F5)。
双击汇编文件(
.EXE
)在Windows资源管理器中。右键单击Windows资源管理器中的文件,然后从弹出菜单中选择"运行"或者"打开"。
将程序集的名称(和路径)执行控制台窗口。
如果程序从命令行递交诸如文件名(例如文件名),则将文件拖到Windows资源管理器中的可执行文件中。
Visual Studio中的解决方案可以包含多个项目 - 有些 .DLL
还有一些 .EXE
。
如果解决方案包含多个 .EXE
项目,我们必须告诉Visual Studio哪个项目是启动项目;从调试菜单运行。
要指定启动项目,请右键单击解决方案资源管理器中的项目,然后选择"设置为启动项目"。
启动项目的名称在解决方案资源管理器中显示为粗体。
想想包含两个的解决方案 .EXE
装配作为两个恰好使用相同库组件的单独程序。
例如,我们可能在解决方案中有一个控制台可执行文件和Windows窗体可执行文件加上一些库。
如果我们使控制台应用程序启动项目并编译代码,则会生成控制台应用程序。
如果我们使Windows窗体应用程序启动 - 嗯,我们可以获得这个想法。
类库
类库包含一个或者多个类,通常以某种方式在一起工作。
通常,库中的类在自己的名称空间中。
我们可以构建一个数学例程库,例如字符串处理例程库,以及输入/输出例程库。
有时,我们甚至构建了一个完整的解决方案,除了一个类库,而不是可以自己执行的程序。
(通常,在开发这种类型的库 时,我们还在建立伴随 .EXE
项目在开发期间测试库 。
但是当我们释放程序员使用库时,我们只发布 .DLL
(不是 .EXE
) - 并为其进行文档,我们可以通过在代码中编写XML注释来生成。
)