Какие пакеты необходимы как минимум для ASP. NET Core MVC (3.1)? - PullRequest
0 голосов
/ 27 мая 2020

Я создал приложение default (шаблон) ASP. NET Core MVC 3.1 , используя Windows 10 / Visual Studio 2019. (фон: я хочу переписать / преобразовать веб-сайт ASP. NET MVC 5 в Core 3 MVC).

После создания решения по умолчанию ASP. NET Core MVC (которое я могу скомпилировать / run), я заметил в NuGet, что по умолчанию не установлены пакеты . У меня есть следующие вопросы:

1) Как получается, что приложение компилируется / запускается, хотя в установленных пакетах не отображаются пакеты, даже Core MVC?

2) Для переписывания моего приложения / веб-сайта я буду использовать MVC, Razor Views, EF Core (с использованием SQL Server, первый подход к базе данных). При поиске в NuGet есть много связанных пакетов Microsoft. Какие минимальные пакеты я должен установить через NuGet (для начала)?

Ответы [ 2 ]

1 голос
/ 27 мая 2020

В вашем файле csproj вы заметите вверху, что тег <Project> перечисляет SDK; SDK обрабатывает включение пакетов, поддерживаемых ASP NET Core.

From ASP. NET Core Web SDK :

Функции, доступные с помощью веб-SDK:

  • Таргетинг на проекты. NET Core 3.0 или более поздняя версия неявно ссылаются:

    • The ASP. NET Базовая общая структура.
    • Анализаторы, предназначенные для создания ASP. NET Базовых приложений.

Из Microsoft.AspNetCore.App для ASP. NET Core :

Проекты, предназначенные для Microsoft. NET .Sdk.Web SDK, неявно ссылаются платформа Microsoft.AspNetCore.App.

ASP. NET Основная общая платформа:

  • Не включает сторонние зависимости.
  • Включает все пакеты, поддерживаемые командой ASP. NET Core.

Чтобы начать работу с Entity Framework Core и SQL Server, вы можно установить указанного c провайдера для SQL сервера - Microsoft.EntityFrameworkCore.SqlServer должен доставить вас туда и каскадировать зависимости.

Из Установка Entity Framework Core :

Чтобы добавить EF Core в приложение, установите пакет NuGet для поставщика базы данных, который вы хотите использовать.

Если вы создаете ASP. NET Базовое приложение, вам не нужно устанавливать провайдеры в оперативной памяти и SQL Server. Эти поставщики включены в текущие версии ASP. NET Core вместе со средой выполнения EF Core.

1 голос
/ 27 мая 2020

Пробовали ли вы посмотреть, на какой SDK ссылается ваш файл проекта при создании пустого ASP. NET Core веб-приложения?

Это Microsoft.NET.Sdk.Web. Это наследует Microsoft.AspNetCore.App, и этот метапакет ссылается на множество других пакетов , среди прочего:

  • Microsoft.AspNetCore. Mvc (> = 2.2.0 && <2.3.0) </li>
  • Microsoft.AspNetCore. Mvc .Razor (> = 2.2.0 && <2.3.0) </li>
  • Microsoft.EntityFrameworkCore (> = 2.2 .6 && <2.3.0) </li>

Поэтому разверните узел SDKs в вашем проекте, а не узел Packages.

...