Пакет 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
:
- Создать новый проект с помощью команды
dotnet new mvc
- И затем вы создаете новую модель с именем
App.Models.MyModel
вручную - Как правило, мы будем использовать
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