【发布时间】:2019-04-14 16:55:55
【问题描述】:
我使用 VS 2017 创建了一个 SSIS 包,并将该项目添加到 Azure Devops。我正在尝试使用 SQL 集成服务插件在 Azure Devops 中设置构建任务。我所做的一切都是在我的机器上设置的,其中包括代理池等。当尝试为 SSIS 构建设置参数时,Devenv 版本选择只给出我 12 和 14。VS2017 没有出现。结果,当我进行构建时,似乎使用了 devenv 上的错误版本,并且构建(即使它没有说失败)失败。
构建使用的版本是C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Devenv.com,但应该使用C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE>Devenv.com
如何获取 DEVENV 配置参数以包含 Hosted VS2017 版本?
以下网页给出了我想要实现的目标:-
http://chamindac.blogspot.com/2018/09/build-and-deploy-ssis-with-azure-devops.html
【问题讨论】:
-
查看我们的 DevOps,我们有一个如下所示的 Powershell 脚本:
&"${env:ProgramFiles(x86)}\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\devenv.com" "$(Build.SourcesDirectory)\SSIS\MySSISProject.dtproj" /rebuild $(BuildConfiguration)。不作为答案发布,因为我不知道它是否有效。 -
感谢耐克。该代码确实运行 VS 2017,但是,我首先需要告诉构建使用 V2017,因为它没有出现在 DEVENV Config 下拉构建参数设置中,所以我无法这样做。因此,如果有代码可以确定哪些版本的 VS 可用,这可能会告诉我为什么它没有找到 VS2017 来填充 DEVENV 的选择参数。
-
也许我遗漏了一些东西,但在 powershell 步骤中没有 devenv 配置下拉菜单。它只是运行一个命令行。
-
powershell 步骤没有,但 SSIS 构建部署有一个。我已经改变了它,现在使用 powershell 并且它可以构建。不幸的是,当我现在尝试使用 powershell 脚本进行部署时,我遇到了另一个问题。 $integrationServices = 新对象“Microsoft.SqlServer.Management.IntegrationServices.IntegrationServices”$sqlConnection 新对象:无法加载文件或程序集 'Microsoft.SqlServer.Dmf.Common,版本 = 13.0.0.0,文化 = 中性,PublicKeyToken = 89845dcd8080cc91' 或其依赖项之一。该文件位于该版本的 C:\Windows\assembly
-
我相信我们使用 ISDeploymentWizard.exe 进行部署,而不是 SSIS API,再次通过 powershell。
标签: ssis azure-devops azure-pipelines