.NET Standard、.NET Core 和 .NET Framework 项目解决方案的 .NET 命名约定

标签 .net .net-core naming .net-standard

我在网络上没有找到任何关于包含 .NET Standard、.NET Core 和 .NET Framework 项目的 .NET 解决方案的公认命名约定。

就我而言,我们在 .NET 框架项目中有以下约定:

[CompanyName].[TechnologyName].[Feature]

现在我们想将它移植到 .NET Standard 和 .NET Core。并非该功能中的所有类都适用于所有这些类,因此我们有一个 .NET 标准项目,该项目由 .NET Core 项目引用。然后 .NET Core 项目被 .NET Framework 项目引用。我们现在应该如何命名我们的项目。

一种解决方案是在命名空间中包含 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 版本应以刚打包为其目标框架名称的相同名称提供。拿 sample Newtonsoft.Json .如果 API 表面/功能集发生变化,请进行重大版本更改或更改产品名称。

不要对 Microsoft 产品名称中的 Core 添加项感到困惑。他们选择制作 ASP.NET Core、.NET Core 和 EF Core 新产品,以避免对更高产品版本的误导性假设:ASP.NET 5。

听 ASP.NET 社区站会,我可以告诉你这个话题出现了,他们得出的结论是,不是所有的东西都应该添加一个核心命名部分。

关于.NET Standard、.NET Core 和 .NET Framework 项目解决方案的 .NET 命名约定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41746575/

相关文章:

c# - System.Exception.Data 属性

c# - Performance Monitor .NET CLR Networking 4.0.0.0 实例命名

python - 为什么 Flask 测试教程中的 "rv"?

android - FreeSwitch 使用 API 创建分机/SIP 用户

c# - 在.NET中读取佳能CR2原始图像文件

c# - 如何使用 ActionResult<T> 进行单元测试?

visual-studio-2015 - 如何从.NET Core中的appsettings.json配置嵌套对象?

.net-core - 如何从命令行运行 "dotnet xunit PathToLibrary.dll"(在持续集成中)

language-agnostic - 为您的项目命名 : does it matter?

c# - 如何在 datagridview 中插入新的 datagridview 行并在数据库中(自动)更新?