3

我有一些未显示在 SSIS 工具箱中的自定义控制流和数据流任务。当我在 SSDT 中打开一个包含自定义任务的包时,我在加载包时遇到了几个错误。

Error loading MyModuleTemplate1.dtsx: Cannot create a task from XML for task "__ECT Fetch Configuration", type "MyEncryptedConfiguration, MyCustomTasks, Version=1.0.0.0, Culture=neutral, PublicKeyToken=2bdffe791d57af79" due to error 0x80070057 "The parameter is incorrect.".

我从以下帖子中关注了 Russ 和 Matt 的回复http://social.msdn.microsoft.com/Forums/sqlserver/en-US/5fdf9243-7e38-401e-bf4a-9251738877f9/how-to-browse-the -installed-custom-task-in-sql-server-2012-ssis-ie-custom-ssis-control-flow-task,但是,任务仍然没有显示。

我在 Windows Server 2008 R2 x64 上使用带有 SSDT 的 SQL Server 2012 x64。我已验证任务位于 GAC 中,并且程序集位于相应的 SQL Server\110\DTS 目录中。这些程序集已编译为 32 位,因为我在引用 32 位程序集(SQL 引用程序集)时不断收到有关针对任何 CPU 的警告。

我可以通过命令行在目标服务器上成功执行包含自定义任务的包。此外,这些任务在我的开发机器上运行良好。我可以在 SSIS 工具箱中看到任务,并且可以毫无问题地打开包含任务的包。我的开发机器与目标机器几乎相同,只是我完全安装了 Visual Studio 2010。

我错过了什么吗?

4

1 回答 1

0

此问题是 WiX 安装程序未正确安装自定义任务的结果。以下是我为验证这一点所做的。

出于测试目的,我创建了一个空的自定义任务,并通过复制文件和 DTS\Tasks 目录将其手动部署到目标服务器。这有效,因此我将其中一个引发错误的任务的 .cs 文件添加到测试自定义任务并重新部署。我能够看到这两个任务。在使用原始自定义任务清理解决方案后,我手动将原始自定义任务部署到目标服务器,就像测试自定义任务一样,并且能够在 SSIS 工具箱中看到这些任务。然后我卸载了自定义任务并使用 WiX 安装程序将它们部署到目标服务器——问题再次出现。所以问题出在安装程序上。我之前手动安装自定义任务的尝试失败了,因为我使用的是从 WiX 安装程序安装的程序集,尽管我不知道为什么。

于 2013-07-18T14:05:15.163 回答