Каркас идентификации в Ubuntu 20.04 с использованием неправильных путей к файлам dotnet 5

#asp.net-core #.net-core #asp.net-identity #ubuntu-20.04 #asp.net-core-scaffolding

#asp.net-core #.net-core #asp.net-identity #ubuntu-20.04 #asp.net-core-scaffolding

Вопрос:

Вывод dotnet --info :

 .NET SDK (reflecting any global.json):
 Version:   5.0.101
 Commit:    d05174dc5a

Runtime Environment:
 OS Name:     ubuntu
 OS Version:  20.04
 OS Platform: Linux
 RID:         ubuntu.20.04-x64
 Base Path:   /usr/share/dotnet/sdk/5.0.101/

Host (useful for support):
  Version: 5.0.1
  Commit:  b02e13abab

.NET SDKs installed:
  3.1.404 [/usr/share/dotnet/sdk]
  5.0.101 [/usr/share/dotnet/sdk]

.NET runtimes installed:
  Microsoft.AspNetCore.App 3.1.10 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 5.0.1 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 3.1.10 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
  Microsoft.NETCore.App 5.0.1 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
 

Шаги для воспроизведения:

  1. Установите генератор кода: dotnet tool install -g dotnet-aspnet-codegenerator
  2. Создайте проект для создания каркаса dotnet new webapp --auth Individual -o WebApp1
  3. cd в новый каталог проекта
  4. Установите Microsoft.VisualStudio.Web.CodeGeneration.Дизайн
  5. Создайте проект, чтобы убедиться, что все работает (сборка в порядке)
  6. запустите scaffold : dotnet aspnet-codegenerator identity -dc WebApp1.Data.ApplicationDbContext --files "Account.Register;Account.Login;Account.Logout;Account.RegisterConfirmation"

Ожидаемое поведение:

Все идентификаторы.Страницы пользовательского интерфейса Razor встроены в проект

Фактическое поведение:

Неустранимая ошибка, указывающая на то, что файл не найден:

 Account.RegisterConfirmation"
Building project ...
Finding the generator 'identity'...
Running the generator 'identity'...
A file matching the name Account.Register.cs.cshtml was not found within any of the folders: 
   at Microsoft.VisualStudio.Web.CodeGeneration.ActionInvoker.<BuildCommandLine>b__6_0()
   at Microsoft.Extensions.CommandLineUtils.CommandLineApplication.Execute(String[] args)
   at Microsoft.VisualStudio.Web.CodeGeneration.ActionInvoker.Execute(String[] args)
   at Microsoft.VisualStudio.Web.CodeGeneration.CodeGenCommand.Execute(String[] args)
RunTime 00:00:09.87
 

Дополнительная информация о проекте, который создается, например:

  • Целевые фреймворки: net5.0
  • Версия пакета Microsoft.AspNetCore.Приложение или Microsoft.AspNetCore.Все (если применимо): 5.0.1
  • Версия пакета Microsoft.VisualStudio.Web.CodeGeneration.Дизайн — это может быть добавлено в ваш проект с помощью scaffolding: 5.0.1

Комментарии:

1. связанная проблема: github.com/dotnet/aspnetcore/issues/26524

2. @vladimir спасибо за подсказку

Ответ №1:

У меня возникла проблема с тем, что Omnisharp не смог сгенерировать мои страницы razor. По предоставленной ссылке @vladimir я обнаружил, что выполнение этой команды для 6.0.2 сработало для меня.

 dotnet tool update dotnet-aspnet-codegenerator -g --version 6.0.2
 

Вы можете увидеть, какие версии у вас есть dotnet --info , но я только что сделал это для 6.0.2, и все снова подключено.