Entity Framework Core — в веб-развертывании отсутствует зависимость объекта управления SQL Server

В настоящее время я пытаюсь выполнить проект Web Deploy ASP.NET CORE, который использует EF Core на удаленном сервере IIS. Я проверил этот флаг для выполнения миграции EF при публикации:

Миграция EF

Но, к сожалению, мне не хватает зависимостей:

C:\Program Files\dotnet\sdk\8.0.304\Sdks\Microsoft.NET.Sdk.Publish\targets\PublishTargets\Microsoft.NET.Sdk.Publish.MSDeploy.targets(140,5): Error : Web deployment task failed. (The SQL provider cannot run because of a missing dependency. Please make sure that Microsoft SQL Server Management Objects (Version 10 or higher) is installed.  Learn more at: https://go.microsoft.com/fwlink/?LinkId=221672#ERROR_SMO_NEEDED_FOR_SQL_PROVIDER.)
Publish failed to deploy.

Я безуспешно пытался установить следующий пакет NUGET на свой VS 2022:

НУГЕТ

Я думаю, что база данных должна создаваться автоматически, когда я использую этот флаг.

SMO должен быть установлен на вашем веб-сервере, а серверу IIS может потребоваться настройка разрешений, чтобы он мог выполнять миграцию к нужной базе данных. Обычно SMO устанавливается вместе с SQL Server, но в большинстве веб-развертываний это будет другой компьютер, чем веб-сервер IIS. При миграции создание базы данных и т. д. будет выполняться с сервера IIS.

Steve Py 29.08.2024 01:22
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
1
50
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Для ошибок типа ERROR_SMO_NEEDED_FOR_SQL_PROVIDER обычное решение — установка последней версии SMO ​​с помощью установщика веб-платформы. Согласно этой официальной документации убедитесь, что в процессе установки нет ошибок.

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

Если описанные выше действия не решили проблему, переустановите Microsoft SQL Server с полными компонентами. Но это займет больше времени.

Ответ принят как подходящий

Спасибо, Стив Пай, ваш ответ решил мою проблему.

Другие вопросы по теме