aspnet-codegenerator: генераторы кода недоступны, даже после добавления Microsoft.VisualStudio.Web.CodeGeneration.Design

Aug 26 2020

Невозможно создать леса с помощью aspnet-codegenerator , вот что я пробовал:

  1. Создал приложение ASP.Net RazorPages, используя dotnet new webapp

  2. Сделал dotnet build

  3. Установлен dotnet-aspnet-codegenerator с помощью

    dotnet tool install --global dotnet-aspnet-codegenerator --version 3.1.4

  4. Ран dotnet aspnet-codegenerator --help

    В нем говорится: в этом проекте нет генераторов кода. Добавьте пакет Microsoft.VisualStudio.Web.CodeGeneration.Design в проект как ссылку на пакет NuGet.

  5. Добавлен пакет, упомянутый в шаге 4, используя

    dotnet add package Microsoft.VisualStudio.Web.CodeGeneration.Design

    Добавлен пакет:

    <ItemGroup> <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="3.1.4" /> </ItemGroup>

  6. Снова побежал: dotnet build

    Последний шаг

  7. Ран dotnet aspnet-codegenerator --help

    Снова говорится: в этом проекте нет генераторов кода. Добавьте пакет Microsoft.VisualStudio.Web.CodeGeneration.Design в проект в качестве ссылки на пакет NuGet.

.Net установленная версия ядра: 3.1.401

Ос: Ubuntu 20.04.

Ответы

1 Blondu Nov 21 2020 at 14:33

Этому уже несколько месяцев, но я недавно сталкивался с этим для всех своих проектов.

В случае, если кто-то еще попадет на эту страницу, решение в моем случае (MAC OS) состояло в том, чтобы удалить и переустановить dotnet-aspnet-codegenerator.

Запускаем в терминале:

dotnet tool uninstall --global dotnet-aspnet-codegenerator

dotnet tool install --global dotnet-aspnet-codegenerator --version 3.1.4
YiyiYou Aug 26 2020 at 13:10

Я проверяю вашу команду, и когда я это сделаю dotnet tool install --global dotnet-aspnet-codegenerator --version 3.1.4, я могу получить

а затем Ran dotnet aspnet-codegenerator --helpя получаю то же сообщение No code generators are available in this project.Add Microsoft.VisualStudio.Web.CodeGeneration.Design package to the project as a NuGetс вами, но когда я делаю следующее, я могу работать без сообщения:

Думаю может пакет не правильно добавлен, можно попробовать удалить и добавить еще раз.

dotnet remove package Microsoft.VisualStudio.Web.CodeGeneration.Design
dotnet add package Microsoft.VisualStudio.Web.CodeGeneration.Design
Juanromeromarcano Dec 04 2020 at 10:34

Я нашел РЕШЕНИЕ этой проблемы:

Последние версии вызывают некоторые проблемы, поэтому вам придется понизить версию SDK до 3.1.3 , написав эту команду в терминале:

sudo apt install dotnet-sdk-3.1 = 3.1.301-1

После этого вам потребуется установить следующее:

установка инструмента dotnet --global dotnet-aspnet-codegenerator --version 3.1.3

После этого вам нужно будет добавить правильный пакет Web.CodeGeneration.Design, написав это на терминале:

sudo apt install dotnet-sdk-3.1 = 3.1.301-1 установка инструмента dotnet --global dotnet-aspnet-codegenerator --version 3.1.3

Это сработало для меня !!

RomanZ Dec 15 2020 at 19:31

У меня такая же проблема при обновлении с .net core 3.1.4 до 5.0.1.

Мое решение:

  1. обновить глобальные инструменты:
  dotnet tool install --global dotnet-aspnet-codegenerator
  dotnet tool update --global dotnet-aspnet-codegenerator
  dotnet tool install --global dotnet-ef
  dotnet tool update --global dotnet-ef
  1. добавлять / обновлять ссылки на пакеты
  dotnet remove package Microsoft.VisualStudio.Web.CodeGeneration.Design
  dotnet add package Microsoft.VisualStudio.Web.CodeGeneration.Design
  dotnet add package Add package Microsoft.EntityFrameworkCore.Design
  1. Заменить строку netcoreapp3.1.4на net5.0в файлах .csproj и launch.json
  2. Очистить каталоги
    • мусорное ведро
    • объект
  3. Восстановить проект
  4. Наконец запустите:
  dotnet aspnet-codegenerator --help

Если все в порядке, он покажет доступные генераторы.