2017-01-19 2 views
5

Я ничего не нашел в Интернете о принятых соглашениях об именах для .NET-решения, которое содержит .NET Standard, .NET Core и. NET Framework.Соглашения об именах .NET для решений с .NET Standard, .NET Core и .NET. Проекты фреймворка

В моем случае мы имели следующее соглашение в нашем проекте .NET Framwork:

[CompanyName].[TechnologyName].[Feature] 

Теперь мы хотим порт этого в .NET Standard и .NET Core. Не все классы внутри функции работают над всеми из них, поэтому у нас есть проект .NET Standard, на который ссылается проект .NET Core. Проект .NET Core затем ссылается на проект .NET Framework. Как нам теперь называть наши проекты.

Одним из решений будет включать в себя название стандарта или Ядра в пространстве имен:

[CompanyName].Standard.[TechnologyName].[Feature] 
[CompanyName].Core.[TechnologyName].[Feature] 
[CompanyName].[TechnologyName].[Feature] 

или

[CompanyName].[TechnologyName].[Feature].Standard 
[CompanyName].[TechnologyName].[Feature].Core 
[CompanyName].[TechnologyName].[Feature] 

Но мы хотим знать, если есть глобальное соглашение об именах для этого.

+0

Я не настолько убежден, что вам нужно название технологии как часть названия ваших проектов. Почему тип базового фреймворка соответствует названию вашего проекта? Назовите свои материалы в соответствии с тем, что он делает * для вас *, с вашей точки зрения. Может быть, проект, работающий на .NET Core, является кросс-платформенным для вас, и в этом случае имена будут похожи на '[CompanyName]. [Product]. [Windows]. [Feature]', '[CompanyName]. [Product]. [Кросс-платформенный]. [Feature] 'и т. Д. – nawfal

+0

@nawfal: Одна из причин может заключаться в том, чтобы различать несколько вариантов проекта, предназначенных для разных базовых фреймворков. –

+0

@ O.R.Mapper Я думаю, что это был бы очень редкий сценарий, подумайте о том, сколько будет дублирования кода, к которому это приведет. В любом случае такая ситуация возникает при присвоении имени, например, имени [CompanyName]. [Product]. [Framework]. [Feature] 'или' [CompanyName]. [Product]. [Feature]. [Framework] 'будет иметь смысл, потому что это так с точки зрения вашего продукта. Просто придерживайтесь одной из этих конвенций. Во всяком случае, случай OP отличается. – nawfal

ответ

4

Я думаю, что первоначальное руководство все еще стоит. Возьмите образец Microsoft.AspNetCore.Mvc. Это компания, продукт и все, что ниже. Стандарт .NET Standard или .NET Core должен поставляться под тем же именем, который был просто упакован для целевого фреймворка. Возьмите образец Newtonsoft.Json. Если API-интерфейс/набор функций изменяется, перейдите к изменению версии или измените название продукта.

Не путайте дополнения Core в названиях продуктов Microsoft. Они решили сделать новые продукты ASP.NET Core, .NET Core и EF Core во избежание ошибочных предположений о более высокой версии продукта: ASP.NET 5.

Прослушивание сообщества ASP.NET для сообщества Я могу сказать вам, что эта тема подошли, и они пришли к выводу, что не все должно быть добавлено частью именования Core.

Смежные вопросы