Azure Devops 无法从计算机上的注册表中找到 Dac Framework (SqlPackage.exe) 的位置
Posted
技术标签:
【中文标题】Azure Devops 无法从计算机上的注册表中找到 Dac Framework (SqlPackage.exe) 的位置【英文标题】:Azure Devops Unable to find the location of Dac Framework (SqlPackage.exe) from registry on machine 【发布时间】:2020-08-12 18:25:01 【问题描述】:我正在使用 azure devops 通过部署组将数据库部署到虚拟机。 我已经验证了系统变量路径是正确的,并且当我登录到虚拟机并尝试使用 powershell 运行它时它也可以工作。我不确定为什么它没有找到它。有什么想法吗?谢谢
【问题讨论】:
您使用的是哪个代理和任务?并且您是否尝试过在代理中指定 SqlPackage.exe 的路径? github.com/Microsoft/azure-pipelines-tasks/issues/4362 【参考方案1】:如果有人希望在 Azure 发布管道和本地服务器上解决此问题,则从 Visual Studio 安装程序安装 SSDT 并没有帮助。 必须安装此链接中提到的 DAC Framework.msi:https://docs.microsoft.com/en-us/sql/tools/sqlpackage-download?view=sql-server-ver15&viewFallbackFrom=sql-server-ver17
从这里安装后,Microsoft SQL Server DAC 项目出现在注册表中(在 Win 2019 服务器上),然后发布管道能够找到 SQLPackage.exe 文件,否则即使 sqlpackage.exe 文件可用并且来自 Visual Studio 构建工具 2017 和 2019 的 SSDT 工具在那里,但仍然没有注册表项(奇怪)。安装这个 msi 解决了这个问题。希望它能节省一些时间。
【讨论】:
【参考方案2】:您可以使用此 PowerShell 脚本来定位 SqlPackage.exe 的路径
https://www.powershellgallery.com/packages/PublishDacPac/1.0.2.2902/Content/public%5CGet-SqlPackagePath.ps1
【讨论】:
以上是关于Azure Devops 无法从计算机上的注册表中找到 Dac Framework (SqlPackage.exe) 的位置的主要内容,如果未能解决你的问题,请参考以下文章
Azure Devops:即使在设置 NPM Authenticate 之后,也无法使用 NPM 私有注册表构建映像
我可以在 Azure 虚拟机上安装 Azure Devops Build Agent 吗?