我在网上没有发现任何包含.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]
但我们想知道是否存在全局命名约定.
我认为最初的准则仍然有效.拿样品吧Microsoft.AspNetCore.Mvc
.这是公司,产品和以下任何内容..NET Standard或.NET Core版本应以与其目标框架名字对象打包相同的名称发布.拿样本Newtonsoft.Json
.如果API表面/功能集发生更改,请进行更改版本更改或更改产品名称.
不要对Microsoft产品名称中的Core添加项感到困惑.他们选择制作ASP.NET Core,.NET Core和EF Core新产品,以避免误导更高产品版本的假设:ASP.NET 5.
听ASP.NET社区站立我可以告诉你,这个话题出现了,他们得出的结论是并非所有内容都应该添加一个Core命名部分.