2010-02-02 102 views
5

假设您有一个对公司中多个项目有用的命名空间,格式为“MyCompany.Core”,您是否拥有完全相同方式命名的程序集或“Core”。为什么或者为什么不?程序集命名约定

回答

13

使用标准的.NET命名约定,程序集名称为covered here。我会救你的(短)阅读:

请选择适合您的程序集DLL 暗示的 功能大块如System.Data名称。 程序集和DLL名称不必与 相对应的命名空间名称,但它 是命名程序集命名空间名称空间 名称。

根据 以下图案考虑命名的DLL:
<Company>.<Component>.dll
<Component>包含一个或多个 点分隔条款。

例如,Contoso.WebControls.dll。

+0

任何有关执行程序集名称重构(Resharper?)的提示,至少在同一个VS解决方案中? – Berryl 2010-02-03 04:06:26

+0

“项目+属性”,“应用程序”选项卡,程序集名称。 – 2010-02-03 04:09:14

4

我会将该程序集命名为与根名称空间相同的名称。这可以很容易地找出哪个程序集中包含哪些代码,并防止与其他项目(来自其他公司)的冲突,这些项目也可能使用了不明确的名称“Core.dll”。

5

我相信这是最好的(在这里看来!)在它包含的根名称空间之后命名程序集,在您的示例中为MyCompany.Core.dll。你永远不知道这个文件是否会在公司之外出现,并且跟踪它一般来说更容易。

试想一下,如果微软命名System.Core程序只是Core.dll(System.Core程序),那么你有Core.dll(MyCompany.Core) ....你能想象这是如何得到毛茸茸的快。

3

我更喜欢MyCompany.ApplicationName.Core.DLL,这消除了如果MyCompany中有两个或更多应用程序发生冲突的可能性。

0

如果在一个企业环境中开发,这个惯例可能是有用的:。

命名空间跟随[DomainEntityName] [的AssemblyName] [目的] [RelatedPurpose]格式,其中DomainEntityName是根业务功能名称, AssemblyName是支持业务需求的功能。