我在网上没有发现任何包含.NET标准,.NET Core和.NET Framework项目的.NET解决方案的公认命名约定。
在我的情况下,我们在.NET Framwork项目中有以下约定:
[CompanyName].[TechnologyName].[Feature]
现在我们要将其移植到.NET Standard和.NET Core。并非该功能中的所有类都适用于所有类,因此我们有一个.NET标准项目,该项目由.NET Core项目引用。然后.NET Framework项目引用.NET Core项目。我们现在应该如何命名我们的项目。
一种解决方案是在名称空间中包含Standard或Core的名称:
[CompanyName].Standard.[TechnologyName].[Feature]
[CompanyName].Core.[TechnologyName].[Feature]
[CompanyName].[TechnologyName].[Feature]
或
[CompanyName].[TechnologyName].[Feature].Standard
[CompanyName].[TechnologyName].[Feature].Core
[CompanyName].[TechnologyName].[Feature]
但我们想知道是否存在全局命名约定。
答案 0 :(得分:8)
我认为原始指南仍然有效。取样Microsoft.AspNetCore.Mvc
。这是公司,产品和以下任何内容。 .NET Standard或.NET Core版本应以与其目标框架名字对象打包相同的名称发布。以Newtonsoft.Json
的样本为例。如果API表面/功能集发生更改,请选择更改版本或更改产品名称。
不要对Microsoft产品名称中的Core添加内容感到困惑。他们选择制作ASP.NET Core,.NET Core和EF Core新产品,以避免误导更高产品版本的假设:ASP.NET 5.
听ASP.NET社区站立我可以告诉你,这个话题出现了,他们得出的结论是并非所有内容都应该添加一个核心命名部分。