Я пытаюсь понять, какое отношение имеет проект C # «Библиотека классов ASP.NET 5» (vNext) к ASP.NET. Зачем создавать проект с этим шаблоном, а не просто проект «Библиотека классов» C #?
Мне нравятся новые функции, такие как файл project.json, а не файл .csproj и т. Д., Но мне кажется неправильным создавать библиотеку классов «ASP.NET», когда проект не имеет ничего общего с ASP.NET или IIS и т. Д. Это просто проект для уровня бизнес-логики. Новый веб-сайт WebApi ASP.NET в конечном итоге будет ссылаться на этот проект, но на данный момент это не актуально.
Это просто плохо названо? Должен ли он называться просто «Библиотека классов vNext» и не использовать значок, похожий на веб-приложение?
Ответы:
Зачем создавать проект библиотеки классов ASP.NET 5?
Есть ряд преимуществ проектов библиотеки классов ASP.NET 5 ( .kproj) по сравнению с проектами библиотеки классов ( .csproj):
aspnet50
,aspnetcore50
,net45
и различных других варианты библиотеки портативного класса. Это включает в себя обширную поддержку Intellisense в Visual Studio, чтобы уведомить вас, какие API доступны для каких целей.Вы можете ссылаться на проект * .csproj из проекта * .kproj (это стало намного проще с новой предварительной версией Visual Studio 2015), но это всегда можно было выполнить вручную.
Почему в названии есть «ASP.NET»?
Судя по названиям, это пережиток истории, который скоро будет рассмотрен. Новый тип проекта полезен далеко за пределами приложений ASP.NET 5. Ожидайте увидеть новые имена в будущей предварительной версии Visual Studio:
Обновление 13.05.2015
С выпуском Visual Studio 2015 RC вы можете видеть обновленные имена шаблонов проектов:
Они используют
project.json
файл и среду выполнения .NET (DNX) для сборки, запуска и упаковки (в пакет NuGet) проекта.Эти шаблоны проектов по-прежнему отображаются в диалоговом окне «Новый проект» в узле «Интернет», но теперь также отображаются и в главном узле «Visual C #».
источник
Это интересное наблюдение, текущий шаблон будет генерировать библиотеку классов, совместимую со средой выполнения ASP.NET 5. Вы не получите этого из обычной библиотеки классов C #.
Я подал следующую проблему для отслеживания этого вопроса о дизайне - https://github.com/aspnet/Home/issues/281
источник
Насколько я понимаю, одно из преимуществ заключается в том, что конечным продуктом проекта библиотеки классов ASP.NET 5 является пакет NuGet (а не просто сборка .dll).
Вы можете создать пакет NuGet, щелкнув проект правой кнопкой мыши в Visual Studio 2015 и выбрав параметр «Опубликовать ...». Или вы можете использовать «KPM pack» в командной строке.
Кроме того, у вас есть возможность использовать среду выполнения ASP.NET 5 Core, чтобы ваша библиотека могла работать на разных платформах.
источник