c# - "Runtime error Exception has been thrown by the target of an invocation"来自脚本任务

标签 c# ssis script-task

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

enter image description here

我使用的是 VS 2010,.Net framework 4.5。

脚本任务会编译。我收到以下消息 SSIS 包“..\Test.dtsx”开始。错误:测试时为 0x1:调用目标已抛出异常。任务失败:测试 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));并评论其余部分,我得到异常(exception)。 我确实有权访问该 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 ) 非常笼统,对您帮助不大。 但是,阅读其他文章很可能表明运行脚本任务的失败原因未知。

  • 十六进制代码:0x1
  • 十进制代码:1
  • 符号名称:DTS_MSG_CATEGORY_SERVICE_CONTROL
  • 描述:功能不正确。

关于c# - "Runtime error Exception has been thrown by the target of an invocation"来自脚本任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28997381/

相关文章:

c# - 在 C# 中,如何将刷新/重绘消息发送到 WPF 网格或 Canvas ?

c# - 3D 数组切片中的最小值和最大值

ssis - 待执行

xml - 如何获取 XML 文件并将其值插入到使用 SSIS 的数据库表中 (SQL Server 2005)

SSIS - 如何在脚本任务中访问 RecordSet 变量

c# - .NET 有 'Mandatory Parameter' 这样的东西吗?

c# - JSON.Net 默认将 Enums 序列化为字典中的字符串 - 如何使其序列化为 int?

sql-server-2008 - 如何确定通信链路故障 TCP 提供程序 : The specified network name is no longer available? 的根本原因

c# - SSIS 脚本任务 - 连接 ADO.NET 并填充数据表

logging - SSIS 脚本任务 : How to log to output using Dts. 日志