“脚本任务中的”调用目标引发了“运行时错误exception”

我有一个带有脚本任务的SSIS包,当我尝试在本地系统中运行它时出现以下错误。 它适用于我的同事和生产。 但是,我无法在本地运行它来进行测试。 我在main方法中保留了一个调试点,但它永远不会到达,我在进入main方法之前得到了错误。

在此处输入图像描述

我正在使用VS 2010,.Net framework 4.5。

脚本任务确实编译。 我得到以下消息SSIS包“.. \ Test.dtsx”开始。 错误:测试时为0x1:调用目标引发了exception。 任务失败:测试SSIS包“.. \ Test.dtsx”完成:成功。 程序'[2552] DtsDebugHost.exe:DTS’已退出代码0(0x0)。

以下是代码:

public void Main() { try { LogMessages("Update Bug package execution started at :: " + DateTime.Now.ToLongTimeString()); LogMessages("Loading package configuration values to local variables."); strDBConn = Dts.Variables["User::DBConnection"] != null ? Dts.Variables["User::DBConnection"].Value.ToString() : string.Empty; strTPCUrl = Dts.Variables["User::TPCUrl"] != null ? Dts.Variables["User::TPCUrl"].Value.ToString() : string.Empty; TfsTeamProjectCollection objTPC = new TfsTeamProjectCollection(new Uri(strTPCUrl)); WorkItemStore objWIS = new WorkItemStore(objTPC); WorkItemCollection objWIC = objWIS.Query("SELECT..."); foreach (WorkItem wi in objWIC) { } } catch(Exception ex) { } 

当我评论来自TfsTeamProjectCollection的代码时objTPC = new TfsTeamProjectCollection(new Uri(strTPCUrl)); 该脚本成功执行。 但是,如果我保留TfsTeamProjectCollection objTPC = new TfsTeamProjectCollection(new Uri(strTPCUrl)); 并评论其余的,我得到例外。 我有权访问该url。

我在我的脚本任务中使用Microsoft.TeamFoundation.Client.dll和Microsoft.TeamFoundation.WorkItemTracking.Client.dll。 但是,程序包中的dll版本是10.0,而我的GAC中的dll版本是12.0。 这会导致问题吗?

我有同样的问题(即相同的错误代码错误:0x1 ……)。

问题在于从丢失的文件夹引用的一些库。

删除引用并从正确的路径添加它们可以解决问题。

与错误代码相关的Microsoft参考( https://msdn.microsoft.com/en-us/library/ms345164.aspx )非常通用,对您没有多大帮助。 但是,阅读其他文章很可能表明运行脚本任务的未知失败原因。

  • hex代码:0x1
  • 十进制代码:1
  • 符号名称:DTS_MSG_CATEGORY_SERVICE_CONTROL
  • 说明:function不正确。

它是固定的,当添加对dll版本12.0.0的引用并将Target Framework更改为.Net Framework 4.5时