Как стать автором
Обновить

Комментарии 42

эх, жаль что от project.json отказались. на мой взгляд он был намного удобнее
возможно, выглядел проще
с другой стороны, они довольно сильно упростили формат csproj. Выстрелит или нет — узнаем со временем)
мне вообще не понравился этот добровольно принудительный переход. кто активно следит за dotnet core возможно замечал, что не надолгое время был выпушен так называемый Preview 3, который уже перешел на csproj, при это LTS так и оставался Preview 2 на project.json. Но через некоторое время по всей видимости Preview 3 отозвали и заместо него сейчас на сайте до сих пор лежит Preview 2.1 который все еще на project.json. и все было бы хорошо, еслиб не то что это не тестовые билды, а просто текуший релиз. и отзывать его как минимум не совсем правильно. Вообщем я советую ставить LTS версию, меньше шансов что с ней что-то неожиданно случится
Как там телеметрия отключалась?
В settings:
"telemetry.enableTelemetry": false,
"telemetry.enableCrashReporter": false

Вот момент с генерацией проекта йоменом был вообще неожиданный. У матерых энтерпрайзников не подгорает от использования столь низменной технологии как nodejs?:)
P.S. ничего не имею против .NET, просто многие посматривают свысока на JS вообще и на nodejs в частности.

на самом деле генератор йоменом это просто удобная фишка пришедшая из мира js. почти все те-же проекты можно генерировать используя dotnet new
$ dotnet new --help
  • Nuget Config
  • Web Config
  • Solution File

А где ещё шаблоны можно взять для этой команды?
Preview 2.1
dotnet new -t --help
Unrecognized type: --help
Avaiable types for C# :
- Console
- Web
- Lib
- xunittest

в Preview 4 еще больше проектов
Благодарю! Попробую, в этом и был вопрос. Да, действительно, в RC4 шаблонов больше:

  • Console Application console [C#], F# Common/Console
  • Class library classlib [C#], F# Common/Library
  • Unit Test Project mstest [C#], F# Test/MSTest
  • xUnit Test Project xunit [C#], F# Test/xUnit
  • Empty ASP.NET Core Web Application web [C#] Web/Empty
  • MVC ASP.NET Core Web Application mvc [C#], F# Web/MVC
  • Web API ASP.NET Core Web Application webapi [C#] Web/WebAPI
  • Nuget Config nugetconfig Config
  • Web Config webconfig Config
  • Solution File

почти все те-же проекты можно генерировать используя dotnet new

Так почему в примере не используется dotnet new, какие преимущества у йомена в данном случае?

В том то и дело, что на данный момент в dotnet new 3 шаблона и ни одного веб приложения, только консольное, а для йомена уже наделали кучу, вот только несколько навскидку:
  • https://github.com/omnisharp/generator-aspnet#readme
  • https://github.com/kriasoft/aspnet-starter-kit#readme
  • https://github.com/sgbj/generator-aspnetcore-angular2
  • https://github.com/deatharrow01/generator-aspnetpostgresql#readme
  • https://github.com/digipolisantwerp/generator-dgp-api-aspnetcore_yeoman
  • https://github.com/aspnet/JavaScriptServices#readme
  • https://github.com/rahulsahay19/generator-aspnetcore-angular-2

Смотри полный список здесь: http://yeoman.io/generators/ по запросу aspnet

Понятно, спасибо.

в йомене можно кроме непосредственное проекта, уже в готовый проект добавить например контроллер
Как это можно сделать?
открываешь корень проекта, там запускаешь йомен, потом выбираешь aspnet а дальше вибираешь что тебе нужно сгенерировать.
Да, так работает, только там в списке нет контроллера.
есть подгенераторы. В свое время они были, не знаю, как сейчас.
yo aspnet:interface

Такая конструкция создавала новый интерфейс и помещала его в cs-файл.
Там сейчас только 2 подгенератора:
  • aspnet:nugetconfig
  • aspnet:webconfig

Microsoft вводили project.json, потому что хотели быть модными.

И, к счастью, избавляются от него :)

А почему к счастью? Какие проблемы были у project.json?

Чисто декларативное описание это прекрасно, но недостаточно гибко и для введения новой функциональности требует обновления toolset. Msbuild же, при всей громоздкости синтаксиса уже сложился и имеет кучу инструментов, которые упрощают процесс сборки, в том числе сложной и автоматизированной. Когда msbuild не было для платформ, отличных от Windows, в новом инструменте был существенный смысл, но теперь уже нет.
Я уверен, что и project.json можно было развить до такого состояния, но с учётом описанного выше, мне кажется что возврат к msbuild более логичный шаг. К сожалению, Microsoft могли бы додуматься до этого раньше, сложившаяся ситуация с необходимостью миграции, конечно далека от идеала.

Спасибо за объяснение.

Пожалуйста, но если что, то это мои личные ощущения, у создателей набор причин может быть совсем другим :)

Эти сами "многие" просто еще не осознали, что node.js — это не только сервер, но и среда для запуска системных утилит, в том числе компиляторов.


Не использовать babel или tsc только потому что они написаны на js и требуют для запуска ноды — глупость.

С точки зрения веба:


С одной стороны, все стандартные решения из мира node.js хороши тем, что они стандартные (babel, tsc, grunt\gulp, webpack). Но я тестировал grunt, webpack — они куда медленнее применяют изменения на лету, чем старые добрые ASP.NET Bundles. Сохранил, подождал несколько секунд, а бандлы очень быстрые — не успеваю перевести взгляд на окно браузера (на относительно небольшом объеме транслируемого кода и там, и там)

А с каких пор бандлы перегружались на лету? Всегда же надо было страницу обновлять...

Less\Css обновлялся на лету.

Посматриваю свысока с удовольствием, ваш нематёрый неэнтерпрайзник :)

Обычный для Microsoft Embrace, Extend, and Extinguish. Энтерпрайзники относятся с пониманием.
НЛО прилетело и опубликовало эту надпись здесь
Относительно конкретно этого снимка — соглашусь, он не в тему, исправил. Остальные одинаково выглядят на всех платформах кроме заголовка окна.
:)
судя по последним тестам, даже показывает неплохую производительность

Очень любопытные данные. Вот интересно, как так получается, что интерпретируемые языки (JS, Python итп) занимают более высокие позиции, чем даже компилируемые? (т.е. первые места у C\C++, потом могут идти JS, потом снова C++, Java и так далее в перемешку). Обусловлено веб-сервером, СУБД или чем-то иным?

Предположу, что libuv обеспечивает всем более-менее одинаковую производительность на простых тестовых приложениях. Но в реальной жизни, когда появятся нагромождения бизнес-логики, все встанет на свои места.

На Arch только недавно устанавливал. Все хорошо, но из AUR пришлось собирать + зависимости.
Из минусов — в VS Code пока не удалось нормально настроить отладку (.

проблема в том что microsoft не поддерживает Arch. лючше взять какую-небудь убунту либо федору. там все ок
Ну официальная документация об этом умалчивает, я думаю, что установка с официального сайта в 2 клика проще всего.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории