SSIS C#脚本中无法识别的类型或命名空间

时间:2014-08-22 16:59:47

标签: c# ssis

我试图使用正则表达式在SSIS中使用脚本任务从文件名中获取变量。我发现了以下一些代码,但是有些函数似乎无法识别:

List<string> filePatterns = null;
public void Main()
{
    filePatterns = new List<string>();
    filePatterns.Add("Folder1");
    filePatterns.Add("Folder2");

    string fileName = Path.GetFileNameWithoutExtension(
        Dts.Variables["User::LoopFiles"].Value.ToString());

    Match match = Regex.Match(fileName, string.Join("|", 
        filePatterns.ToArray()));

    Dts.Variables["User::FolderName"].Value = match.Value;
    Dts.TaskResult = (int)ScriptResults.Success;
}

列表和匹配都返回

  

类型或命名空间名称&#39;列表&#39;找不到(你错过了使用指令或汇编引用吗?)

此外,路径返回名称&#39;路径&#39;在当前背景下不存在。

我想我错过了某种类型的库,但我想知道在哪里找到它以及如何引用它。

1 个答案:

答案 0 :(得分:1)

列表是一个通用集合,因此您需要添加对命名空间的引用System.Collections.Generic

路径来自System.IO命名空间,因此您也需要对此进行引用。

匹配来自System.Text.RegularExpressions

应该不需要添加对程序集本身的显式引用,因此您需要将以下内容添加到初始using语句中。

using System.Collections.Generic;
using System.IO;
using System.Text.RegularExpressions;

请注意,2.0框架可以使用Generics (需要引用),因此您需要更改SSIS Script Task的项目以使用3.5框架。