当前我正在尝试执行 Web 部署 ASP.NET CORE 项目,该项目使用 EF Core 到远程 IIS 服务器,我选中此标志以在发布时执行 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.
我尝试在 VS 2022 上安装以下 NUGET 包,但没有成功:
我认为当我使用此标志时应该自动创建数据库。
对于像
ERROR_SMO_NEEDED_FOR_SQL_PROVIDER
这样的错误,通常的解决方案是使用Web Platform Installer安装最新版本的SMO。根据这个官方文档,确保你的安装过程没有错误。
如果按照正确的安装步骤后仍无法正常使用,则可能是IIS权限问题。尝试以管理员身份启动 IIS,然后配置 Web 部署。
如果上述步骤未能解决问题,请重新安装完整组件的 Microsoft SQL Server。但需要更多时间。