В ASP.NET MVC Core что делают пакеты Microsoft.AspNetCore.Razor.Design и Microsoft.VisualStudio.Web.CodeGeneration.Design? - PullRequest
0 голосов
/ 23 октября 2018

Они нужны только во время разработки?Можно ли их удалить, не вызывая проблем со сборкой?(Фреймворк таргетинга netcoreapp2.1).

1 Ответ

0 голосов
/ 24 октября 2018

Пакет Microsoft.AspNetCore.Razor.Design содержит поддержку MSBuild для Razor .Если вы разрабатываете основное приложение asp.net, нет необходимости добавлять ссылку на пакет на Microsoft.AspNetCore.Razor.Design вручную (а также вы не должны удалять их вручную) .Поскольку на него ссылается метапакет Microsoft.AspNetCore.App, что означает, что если у вас есть зависимость от Microsoft.AspNetCore.App, вы будете автоматически ссылаться на пакет .

Пакет Microsoft.VisualStudio.Web.CodeGeneration.Design совершенно другой. Как следует из названия, он используется только для генерации кодов .Например, вы хотите разработать проект без Visual Studio:

  1. Создать новый проект с помощью команды dotnet new mvc
  2. И затем вы создаете новую модель с именем App.Models.MyModel вручную
  3. Как правило, мы будем использовать Visual Studio для генерации контроллеров, представлений, DbContext и так далее.Но что, если у нас нет Visual Studio?

Если у нас есть Microsoft.VisualStudio.Web.CodeGeneration.Design, на который есть ссылка в нашем файле *.csproj, мы можем создать скаффолд CRUD с помощью следующей команды :

dotnet aspnet-codegenerator controller -m $model -dc $dcClass -name $controllerName -namespace $controllerNamespace -outDir Controllers --useDefaultLayout

Существуют также некоторые другие подкоманды, такие как:

dotnet aspnet-codegenerator identity -dc $dcClass

Однако этот пакет используется только для эшафот.После того как вы сгенерировали коды, вы можете свободно удалить этот пакет перед публикацией.

В качестве примечания, чтобы использовать команду dotnet aspnet-codegenerator, сначала нужно установить инструмент:

dotnet tool install --global dotnet-aspnet-codegenerator
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...