Почему Entity Framework Migration не читает файл App.xaml.cs в WinUI 3?C#

Место общения программистов C#
Ответить
Гость
 Почему Entity Framework Migration не читает файл App.xaml.cs в WinUI 3?

Сообщение Гость »


У меня есть проект WinUI 3, использующий GenericHost (на основе шаблона WinUI 3 Visual Studio по умолчанию):

Хост = Microsoft.Extensions.Hosting.Host. СоздатьСтроительПо умолчанию(). UseContentRoot(AppContext.BaseDirectory). ConfigurationServices((контекст, сервисы) => { // Обработчик активации по умолчанию Services.AddTransient(); // Другие обработчики активации Services.AddTransient(); // Услуги Services.AddSingleton(); Services.AddSingleton(); Services.AddSingleton(); // Конфигурация Services.Configure(context.Configuration.GetSection(nameof(LocalSettingsOptions))); Services.AddDbContext(параметры => options.UseSqlServer(context.Configuration.GetConnectionString("WinUIContext"))); }). Строить(); Я хочу использовать Entity Framework Core и миграцию, но когда я пытаюсь добавить миграцию, как показано ниже,

Добавить-Миграция InitialCreate -Verbose Я не обнаружил никаких ошибок, но Entity Framework не создает никаких файлов миграции.

Использование проекта Source\WinUITest\WinUI3. Использование запускаемого проекта «Source\WinUITest\WinUI3». Сборка началась... Сборка прошла успешно. C:\Program Files\dotnet\dotnet.exe exec --depsfile D:\Source\Repos\soroshsabz\TestSolution\Source\WinUITest\WinUI3\bin\x64\Debug\net7.0-windows10.0.19041.0\win10- x64\WinUI3.deps.json --additionalprobingpath C:\Users\sooro\.nuget\packages --additionalprobingpath "C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages" --runtimeconfig D:\Source\ Repos\soroshsabz\TestSolution\Source\WinUITest\WinUI3\bin\x64\Debug\net7.0-windows10.0.19041.0\win10-x64\WinUI3.runtimeconfig.json C:\Users\sooro\.nuget\packages\microsoft Миграции .entityframeworkcore.tools\6.0.19\tools\netcoreapp2.0\any\ef.dll добавляют InitialCreate --json --verbose --no-color --prefix-output --assembly D:\Source\Repos\soroshsabz \TestSolution\Source\WinUITest\WinUI3\bin\x64\Debug\net7.0-windows10.0.19041.0\win10-x64\WinUI3.dll --project D:\Source\Repos\soroshsabz\TestSolution\Source\WinUITest\ WinUI3\WinUI3.csproj --startup-assembly D:\Source\Repos\soroshsabz\TestSolution\Source\WinUITest\WinUI3\bin\x64\Debug\net7.0-windows10.0.19041.0\win10-x64\WinUI3.dll --startup-project D:\Source\Repos\soroshsabz\TestSolution\Source\WinUITest\WinUI3\WinUI3.csproj --project-dir D:\Source\Repos\soroshsabz\TestSolution\Source\WinUITest\WinUI3\ --language C# --configuration Debug --working-dir D:\Source\Repos\soroshsabz\TestSolution --root-namespace WinUI3 --nullable Использование сборки WinUI3. Использование стартовой сборки «WinUI3». Использование базы приложения «D:\Source\Repos\soroshsabz\TestSolution\Source\WinUITest\WinUI3\bin\x64\Debug\net7.0-windows10.0.19041.0\win10-x64». Использование рабочего каталога «D:\Source\Repos\soroshsabz\TestSolution\Source\WinUITest\WinUI3». Использование корневого пространства имен «WinUI3». Использование каталога проекта «D:\Source\Repos\soroshsabz\TestSolution\Source\WinUITest\WinUI3\». Остальные аргументы: . Поиск классов DbContext... Поиск реализаций IDesignTimeDbContextFactory... Поиск поставщика услуг приложения в сборке «WinUI3»... Поиск поставщика услуг Microsoft.Extensions.Hosting... Использование среды «Разработка». Как видно из подробного журнала, Entity Framework не может найти ни одного класса или метода.

Как это решить?

Примечание. Мой полный исходный код — https://github.com/soroshsabz/TestSolution

Обновление от 11 июля 2023 г.

Как говорит @jeaninez-msft в комментарии, чтобы изменить команду миграции на

Добавить-Миграция InitialCreate -Verbose -Project WinUI3.Data -StartupProject WinUI3 Я повторяю миграцию, и тоже ничего не получается. Ниже прикрепляю новый журнал:

Добавить-Миграция InitialCreate -Verbose -Project WinUI3.Data -StartupProject WinUI3 Выход:

Использование проекта Source\WinUITest\WinUI3.Data. Использование запускаемого проекта «Source\WinUITest\WinUI3». Сборка началась... Сборка прошла успешно. C:\Program Files\dotnet\dotnet.exe exec --depsfile C:\Users\sooro\Documents\Source\Repos\soroshsabz\TestSolution\Source\WinUITest\WinUI3\bin\x64\Debug\net7.0-windows10. 0.19041.0\WinUI3.deps.json --additionalprobingpath C:\Users\sooro\.nuget\packages --additionalprobingpath "C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages" --runtimeconfig C:\ Пользователи\sooro\Documents\Source\Repos\soroshsabz\TestSolution\Source\WinUITest\WinUI3\bin\x64\Debug\net7.0-windows10.0.19041.0\WinUI3.runtimeconfig.json C:\Users\sooro\.nuget Миграции \packages\microsoft.entityframeworkcore.tools\6.0.19\tools\netcoreapp2.0\any\ef.dll добавляют InitialCreate --json --verbose --no-color --prefix-output --assembly C:\Users \sooro\Documents\Source\Repos\soroshsabz\TestSolution\Source\WinUITest\WinUI3\bin\x64\Debug\net7.0-windows10.0.19041.0\WinUI3.Data.dll --project C:\Users\sooro\ Documents\Source\Repos\soroshsabz\TestSolution\Source\WinUITest\WinUI3.Data\WinUI3.Data.csproj --startup-assembly C:\Users\sooro\Documents\Source\Repos\soroshsabz\TestSolution\Source\WinUITest\WinUI3 \bin\x64\Debug\net7.0-windows10.0.19041.0\WinUI3.dll --startup-project C:\Users\sooro\Documents\Source\Repos\soroshsabz\TestSolution\Source\WinUITest\WinUI3\WinUI3. csproj --project-dir C:\Users\sooro\Documents\Source\Repos\soroshsabz\TestSolution\Source\WinUITest\WinUI3.Data\ --language C# --configuration Debug --working-dir C:\Users\sooro \Documents\Source\Repos\soroshsabz\TestSolution --root-namespace WinUI3.Data --nullable Использование сборки WinUI3.Data. Использование стартовой сборки «WinUI3». Использование базы приложения «C:\Users\sooro\Documents\Source\Repos\soroshsabz\TestSolution\Source\WinUITest\WinUI3\bin\x64\Debug\net7.0-windows10.0.19041.0». Использование рабочего каталога «C:\Users\sooro\Documents\Source\Repos\soroshsabz\TestSolution\Source\WinUITest\WinUI3». Использование корневого пространства имен «WinUI3.Data». Использование каталога проекта «C:\Users\sooro\Documents\Source\Repos\soroshsabz\TestSolution\Source\WinUITest\WinUI3.Data\». Остальные аргументы: . Поиск классов DbContext... Поиск реализаций IDesignTimeDbContextFactory... Поиск поставщика услуг приложения в сборке «WinUI3»... Поиск поставщика услуг Microsoft.Extensions.Hosting... Использование среды «Разработка». Обновление от 13 июля 2023 г.

Мой DbContext выглядит следующим образом:
публичный класс WinUIContext: DbContext { общедоступный WinUIContext (параметры DbContextOptions) : база (варианты) { папка вар = Environment.SpecialFolder.LocalApplicationData; вар путь = Environment.GetFolderPath(папка); DbPath = Path.Join(путь, "WinUITest.db"); } общедоступный DbSet EntityFirst { получать; набор; } общедоступный объект DbPath { получать; } }
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»