首页 > 解决方案 > 如何在不安装任何工具的情况下从命令行生成 ISPAC 文件

问题描述

我有一个请求,将生成 ISPAC 文件的过程作为我们自动构建系统的一部分自动化(目前这是在开发人员机器上手动完成的)。构建系统的配置方式所有工具都驻留在源代码控制中,构建机器上没有安装任何东西。启动构建时,脚本将环境配置为使用源代码控制存储库中的路径来运行工具。在我的开发机器上,我安装了 SSDT,但我需要避免安装任何东西。我看过这篇文章其中讨论了如何通过 MSBuild 从命令行生成 ISPAC 文件,并引用了 CodePlex 上的一个项目,但该项目仍然需要安装 SSDT 才能工作。我已经联系了这篇文章的作者,看看他是否有任何建议,但我想我也会在这里尝试,因为它的受众如此之多。

从项目构建工具并确定工具的依赖关系并将适当的 DLL 拉到与工具相同的文件夹后,运行时出现以下错误:

An Integration Services class cannot be found. Make sure that Integration Services is correctly installed on the computer that is running the application. Also, make sure that the 64-bit version of Integration Services is installed if you are running a 64-bit application.         [D:\XXX\YYY\Src\Rpt\SSIS_msbuild.proj]
    at Microsoft.SqlServer.Dts.Runtime.ProjectParameter.Init(String parameterName, ParameterCollection collection) [D:\XXX\YYY\Src\Rpt\SSIS_msbuild.proj]
    at Microsoft.SqlServer.Dts.Runtime.ProjectParameter..ctor(String parameterName, TypeCode dataType, ParameterCollection collection) [D:\XXX\YYY\Src\Rpt\SSIS_msbuild.proj]
    at Microsoft.SqlServer.Dts.Runtime.ProjectParameters.Add(String parameterName, TypeCode dataType) [D:\XXX\YYY\Src\Rpt\SSIS_msbuild.proj]
    at Microsoft.SqlServer.IntegrationServices.Build.DeploymentFileCompilerTask.Execute() in D:\XXX\Tools\build\Tools\src\SSISMSBuild_2012\DeploymentFileCompilerTask.cs:line 182 [D:\XXX\YYY\Src\Rpt\SSIS_msbuild.proj]

在堆栈跟踪之后,它看起来像 DTS.dll 让我感到困惑,即使它与该工具位于同一文件夹中。有人向我提到将免注册 COM 互操作作为一种可能的解决方案。我已经为 DTS.dll 生成了一个清单文件,也为该工具生成了一个清单文件,但仍然没有区别。我不知道这是否是完成我需要的错误路径,或者我只是做错了。任何帮助将不胜感激。

标签: sql-server-data-toolsregistration-free-com

解决方案


推荐阅读