Asp net core web application нет в visual studio
but I can't find the one i needed, I don't want the 'core' one,
does anyone know how to solve it?
8 Answers
Once you've used a project template, it appears in your "Recent project templates" list on the side of the Create a new project box, and you won't have to search for it again.
When you step through creating your project with that template, it will ask you to select Empty, Web Forms, MVC, Web API, or Single Page Application. Pick your preferred flavor.
Hi @WEIHANTAN-6281 ,
Did you select "ASPNET and web development" when you install the visual stuido? If you installed it, you only search "Web application". If you didn't install,you must to install the sdk.
Best regards,
Yijing Sun
If the answer is helpful, please click "Accept Answer" and upvote it.
Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.
Esta desde visual studio 2022
Open 'visual studio installer' from start menu.
Click on 'modify' :
I am having the issue even though i have already installed it.. Can anybody help me out with this pls
Thank you very much, it was a great help.
See this link! Worked for me.
Thanks. it's working
This is exactly what I was looking for, thanks Andres
Thank's man it's working
Please follow the steps below:
Go to File
New project
Scroll down, at last, you'll see - Not finding what are you looking for
go to Install More tools and Features
it will open Visual Studio Installer
go to Modify
Go to INdividual packages Tab
Search For: " .NET Framework project and item templates " and mark the checkbox.
Install the packages
Отметив все необходимые нам опции, выполним установку Visual Studio.
На следующем шаге дадим какое-нибудь имя проекту, например, HelloApp, и определим для него местоположение на жестком диске:
После этого отобразится окно выбора шаблона нового приложения:
Здесь нам доступно несколько типов проектов:
Также здесь можно указать тип аутентификации, который по умолчанию используется в проекте, и подключить контейнер Docker.
Connected Services : подключенные сервисы из Azure
Dependencies : все добавленные в проект пакеты и библиотеки, иначе говоря зависимости
Properties : узел, который содержит некоторые настройки проекта. В частности, в файле launchSettings.json описаны настройки запуска проекта, например, адреса, по которым будет запускаться приложение.
appsettings.json : файл конфигурации проекта в формате json
Program.cs : главный файл приложения, с которого и начинается его выполнение. Код этого файла настривает и запускает веб-хост, в рамках которого разворачивается приложение
Startup.cs : файл, который определяет класс Startup и который содержит логику обработки входящих запросов
Данная структура, конечно, не представляет проект полнофункционального приложения. И если мы запустим проект, то в браузере увидим только строку "Hello World!", которая отправляется в ответ клиенту с помощью класса Startup:
Далее на следующем этапе нам будет предложено указать имя проекта и каталог, где будет располагаться проект.
В поле Project Name дадим проекту какое-либо название. В моем случае это HelloApp .
Другой флажок - Enable Docker позволяет задействвовать Docker. Если этот флажок установлен, то в поле ниже можно будет выбрать ОС, которая будет использоваться под Docker. Но в данном случае оставим этот флажок неотмеченным.
Оставим все остальные настройки по умолчанию и нажмем на кнопку Create (Создать) для создания проекта. После этого Visual Studio создаст и откроет нам проект:
Connected Services : подключенные сервисы из Azure
Dependencies : все добавленные в проект пакеты и библиотеки, иначе говоря зависимости
Properties : узел, который содержит некоторые настройки проекта. В частности, в файле launchSettings.json описаны настройки запуска проекта, например, адреса, по которым будет запускаться приложение.
appsettings.json : файл конфигурации проекта в формате json
Program.cs : главный файл приложения, с которого и начинается его выполнение. Код этого файла настраивает и запускает веб-приложение
Запуск проекта
Проект по умолчанию не представляет какой-то грандиозной функциональности, тем не менее этот проект мы уже можем запустить. Итак, запустим проект. При запуске нам может отобразиться окно, где надо подтвердить доверие для серфиката SSL, а также его установку
И после подтверждения и установки сертификата отобразиться консоль, где выводися некоторая базовая информация о приложении:
И, кроме того, будет запущен браузер, где мы сможем лицезреть строку "Hello World!" - результат работы кода по умолчанию из файла Program.cs :
Запуск приложения и файл Program.cs
Рассмотрим код файла Program.cs , который создает подобное приложение:
Для создания объекта WebApplication необходим специальный класс-строитель - WebApplicationBuilder . И в файле Program.cs вначале создается данный объект с помощью статического метода WebApplication.CreateBuilder :
В качестве параметра в метод передаются аргументы, которые передаются приложению при запуске.
Получив объект WebApplicationBuilder , у него вызывается метод Build() , который собствено и создает объект WebApplication :
С помощью объекта WebApplication можно настроить всю инфраструктуру приложения - его конфигурацию, маршруты и так далее. В файле Program.cs по умолчанию для приложения определяется один маршрут:
В качестве второго параметра в метод MapGet() передаются обработчик запроса по этому маршруту в виде функции. Здесь это лямбда-выражение, которое возвращает строку "Hello World!". Именно поэтому при обращении к приложению мы увидим данную строку в браузере.
И в конце необходимо запустить приложение. Для этого у класса WebApplication вызывается метод Run() :
В итоге запустится приложение в виде консоли, и мы сможем обращаться к приложению из различных браузеров.
После завершения работы над приложением приложение его можно опубликовать, чтобы оно стало доступно широкому кругу пользователей. Как правило, для хостирования приложения будет применяться один из внешних хостингов, список которых можно посмотреть здесь. В данном же случае рассмотрим основные моменты публикации и развертывания приложения на локальном компьютере.
При разработке в Visual Studio публиковать приложения очень легко - среда разработки имеет для этого весь необходимый инструментарий. Так, возьмем какой-нибудь проект и в Visual Studio нажмем на него правой кнопкой мыши и в появившемся контекстном меню выберем пункт Publish :
И перед нами откроется окно публикации приложения:
Здесь нам доступно несколько вариантов публикации:
Microsoft Azure App Service : публикация в облаке Azure
IIS, FTP, etc : публикация через FTP
Folder : публикация в виде отдельного пакета в файловой системе текущей рабочей машины
Import Profile : импорт профиля, который содержит настройки публикации
Microsoft Azure Virtual Machines : публикация в облаке Azure, по сравнению с первой опцией обладает большими возможностями по управлению инфраструктурой развертывания
В данном случае выберем опцию Folder для создания пакета для публикации в файловой системе. И также укажем путь, по которому будет находиться пакет. В моем случае это каталог "C:\CoreApp". И в конце нажмем на кнопку Publish.
Далее откроется окно, где будут оображаться выбранные настройки конфигурации, и для продолжения публикации нажмем в нем кнопку Publish:
И после окончания публикации по указанному пути (в моем случае это каталог C:\CoreApp) появятся опубликованные файлы.
Настройка IIS
Прежде всего нам надо включить функциональность Web Server (IIS) и настроить роли сервера. Для этого перейдем по пути Панель управления -> Программы и компоненты -> Включение или отключение компонентов Windows . В списке компонентов найдем Службы IIS (Internet Information Services) и отметим ее:
Здесь также надо отметить подпункт "Службы Интернета" (World Wide Web Services) и все его подпункты, а также подпункт "Консоль управления IIS" (IIS Management Console).
Нажмем на ОК, и весь необходимый функционал будет добавлен в операционную систему.
После установки этого пакета выполним в командной строке команду iisreset или вручную перезапустим IIS, чтобы сервер применил изменения.
Конфигурация сервера
Для конфигурации IIS перейдем к консоли управления веб-сервером. Для этого перейдем по пути Панель управления -> Администрирование -> Диспетчер служб IIS :
Нажмем правой кнопкой на узел "сайты" и в контекстном меню выберем пункт "Добавить веб-сайт. ". После этого нам откроется окно для добавления нового сайта:
В поле "Физический путь" здесь укажем каталог, в котором опубликовано приложение. А в качестве имени узла определим "localhost". Нажмем на OK, и приложение будет запущено.
Теперь перейдем к пункту Пулы приложений . Выберем пул нашего приложения и справа нажмем на ссылку Основные настройки :
После этого пул будет перезапущен, и мы сможем обращаться к нашему приложению по адресу localhost.
Введение
Описание
В этой статьей будем создавать следующий API:
API | Описание | Тело запроса | Тело ответа |
GET /api/todo | Получить все элементы списка дел | Нет | Массив элементов списка дел |
GET /api/todo/ | Получить элемент по идентификатору | Нет | Элемент списка дел |
POST /api/todo | Добавить новый элемент | Элемент списка дел | Элемент списка дел |
PUT /api/todo/ | Обновить существующий элемент | Элемент списка дел | Нет |
PATCH /api/todo/ | Обновить существующий элемент | Элемент списка дел | Нет |
DELETE /api/todo/ | Удалить элемент | Нет | Нет |
На диаграмме ниже показана архитектура приложения:
Создание проекта
Добавление класса модели
Модель — это объект, который представляет данные в нашем приложении. В данном случае единственная модель — это элемент списка дел.
Добавьте каталог с именем «Models». В обозревателе решений нажмите правую кнопку мыши на проекте. Выберите пункт Add > New Folder. Ведите имя каталога Models.
Примечание: классы модели могут находиться в любом месте проекта, но обычно их размещают в каталоге Models.
Добавьте класс TodoItem . Нажмите правую кнопку мыши на каталоге Models и выберите пункт Add > Class. Ведите имя класса TodoItem и нажмите Add.
Замените сформированный код следующим:
Добавление класса репозитория
Репозиторий — это объект, который инкапсулирует уровень данных и содержит логику для извлечения данных и направлениях их к модели. Хотя в данном приложении не используется база данных, имеет смысл показать, как можно внедрять репозитории в контроллеры. Создайте код репозитория в каталоге Models.
Начните с определения интерфейса репозитория с названием ITodoRepository . Используйте шаблон класса (Add New Item > Class).
Этот интерфейс определяет основные операции CRUD.
Затем добавьте класс TodoRepository , который реализует ITodoRepository :
Постройте приложение, чтобы убедиться, что компилятор не выдает ошибок.
Такой подход упрощает модульное тестирование контроллеров. Модульные тесты внедряют «фиктивную» или «имитационную» версию ITodoRepository . В этом случае тест нацелен на логику контроллера, а не на уровень доступа к данным.
Для внедрения репозитория в контроллер необходимо зарегистрировать его при помощи контейнеров DI. Откройте файл Startup.cs. Добавьте следующую директиву using:
В метод ConfigureServices добавьте выделенный код:
Добавление контроллера
В обозревателе решений нажмите правую кнопку мыши на каталоге Controllers. Выберите пункт Add > New Item. В окне Add New Item выберите шаблон Web API Controller Class. Введите имя класса TodoController .
Замените сформированный код следующим:
Таким образом определяется класс пустого контроллера. В следующих разделах описывается добавление методов для реализации API.
Получение элементов списка дел
Чтобы получить элементы списка дел, добавьте следующие методы в класс TodoController :
Эти методы реализуют два метода GET:
Маршрутизация и URL-пути
"" — это величина, заменяемая на идентификатор элемента todo . Когда GetById вызывается, значение “” в URL присваивается параметру id метода.
Возвращаемые значения
Метод GetAll возвращает IEnumerable . MVC автоматически сериализует объект в JSON и записывает JSON в тело ответа. Код ответа для этого метода — 200, в том случае если нет необработанных исключений (необработанные исключения переводятся в ошибки 5xx.)
В свою очередь метод GetById возвращает значение более общего типа IActionResult , который представлен большим количеством типов возвращаемых значений. GetById имеет два различных типа возвращаемых значений:
- Если нет соответствия запрашиваемому идентификатору, метод возвращает ошибку 404. Это происходит при возврате NotFound .
- В остальных случаях метод возвращает код 200 и тело ответа в формате JSON. Это происходит при возврате ObjectResult .
Запуск приложения
Реализация других операций CRUD
Добавим методы Create , Update и Delete . Этот процесс аналогичен тому, о чем речь шла ранее, поэтому здесь будет показан код и выделены основные отличия. Создайте проект после добавления или изменения кода.
Create
Использование Postman для отправки запроса Create
- Установите POST в качестве метода HTTP.
- Выберите переключатель Body.
- Выберите переключатель raw.
- Выберите тип JSON.
- В редакторе пар ключ-значение укажите элемент Todo следующим образом: "> .
- Нажмите Send.
Для доступа к ресурсу, который только что создан, можно использовать URL из заголовка Location. Повторно вызовите метод GetById , создавший именованный маршрут "GetTodo" :
Update
Update с использованием Patch
Читайте также: