比较C和C#中的程序集

问题描述 投票:0回答:2

我们知道内部关键字意味着访问仅限于当前程序集。我来自C后台,所以C只是编译每个源文件(.c)到程序集(.a),所以对于.NET CLR,假设我们在一个应用程序中有两个文件夹Model和Controller,里面Model有两个类文件(a.cs和b.cs),以及Controller内部,还有两个类文件(c.cs和d.cs)。所以当我们编译项目时,a.cs和b.cs会被编译成同一个程序集文件吗?或者将所有类文件编译成相同的汇编文件?因为从C的角度来看,它将是四个汇编文件(链接器当然只生成一个可执行文件)

c# c clr
2个回答
0
投票

简单回答你的问题:

所以当我们编译项目时,a.cs和b.cs会被编译成同一个程序集文件吗?或者将所有类文件编译成相同的汇编文件?

是的,它们将被编译到同一个程序集文件中。


0
投票

最后,所有类都将被编译成一个项目的程序集,但由于你在谈论在不同的目录下具有相同的类名,在这种情况下也只有一个程序集在命名空间中逻辑分离,因为模型下的类目录将是'projectName.Model',控制器目录下的类将是'projectName.Controller',但是如果你把它们放在相同的命名空间下,你会因为重复的类而得到一个编译问题(为了使它能够工作你可以做这两个类都是partial class)。

This link can help you as well

希望这会给你一些想法......

© www.soinside.com 2019 - 2024. All rights reserved.