SSIS无法创建此任务?

时间:2011-10-18 13:19:41

标签: c# ssis task toolbox

更新: 重新启动我的BIDS后,从GAC和任务文件夹中删除了我的dll,并重做整个过程,我能够解决问题。所以我不确切地知道出了什么问题,但这是值得尝试的事情。


所以我和这里有完全相同的问题: Why does SSIS fail to create this task?

执行以下任务:

using System;
using Microsoft.SqlServer.Dts.Runtime;
using System.IO;

namespace BloombergRequest
{
    [DtsTask(DisplayName= "BBG Request",
        Description= "A custom task for sending bloomberg requests",
        TaskContact = "BBG Request; OTC Fin Europe; Developed by N. Wadike - 2011.",
        TaskType= "Custom BBG task")]
    public class BBGRequest : Task
    {
        #region Constructors
        public BBGRequest()
        {
            //explode parameters into arrays and store in private fields
            _fields = Fields.Split(new Char[] { ',' });
            _headerOptions = HeaderOptions.Split(new Char[] { ',' });
            _headerValues = HeaderValues.Split(new Char[] { ',' });
            _securitiesValues = Securities.Split(new Char[] { ',' });
        }
        #endregion

        #region Override base methods

        public override DTSExecResult
            Execute(Connections connections,
            VariableDispenser variableDispenser,
            IDTSComponentEvents componentEvents,
            IDTSLogging log,
            object transaction)
        {
            try
            {
                SendRequest();
            }
            catch 
            {
                return DTSExecResult.Failure;
            }

            return DTSExecResult.Success;
        }

        public override DTSExecResult Validate(
            Connections connections,
            VariableDispenser variableDispenser,
            IDTSComponentEvents componentEvents,
            IDTSLogging log)
        {...validate my inputs}

        #endregion

        #region Private methods

        private void SendRequest()
        {
            CreateHeader();
        }

        private void CreateHeader()
        {...do some stuff...}

        #endregion

        #region Properties
        public string Fields { get; set; }
        public string HeaderOptions { get; set; }
        public string HeaderValues { get; set; }
        public string OutputFolderPath { get; set; }
        public string Securities { get; set; }

        private string[] _fields;
        private string[] _headerOptions;
        private string[] _headerValues;
        private string[] _securitiesValues;

        #endregion
    }
}

我按照上面链接的问题中解释的步骤进行操作,但这并没有解决我的问题。这是我的错误:

===================================

Failed to create the task. (Microsoft Visual Studio)

===================================

Cannot create a task with the name "BloombergRequest.BBGRequest, BloombergRequest, Version=1.0.0.0, Culture=neutral, PublicKeyToken=c0c17a53adc44091". Verify that the name is correct.
 (BBG_REQ)

------------------------------
Program Location:

   at Microsoft.SqlServer.Dts.Runtime.Executables.Add(String moniker)
   at Microsoft.DataTransformationServices.Design.DtsBasePackageDesigner.CreateExecutable(String moniker, IDTSSequence container, String name)

===================================

Cannot create a task with the name "BloombergRequest.BBGRequest, BloombergRequest, Version=1.0.0.0, Culture=neutral, PublicKeyToken=c0c17a53adc44091". Verify that the name is correct.
 (BBG_REQ)

------------------------------

我的项目名为BloombergRequest,该类是BBGRequest ... 我已经检查了,并且dll在GAC中,我可以将它添加到BIDS中的工具箱中...但是当我尝试将其拖到设计器上时会弹出错误....

2 个答案:

答案 0 :(得分:0)

从GAC和任务文件夹中删除了我的dll,然后重新创建

答案 1 :(得分:0)

重新启动我的BIDS后,从GAC和任务文件夹中删除了我的dll,并重做了整个过程,我能够解决问题。所以我不确切地知道出了什么问题,但这是值得尝试的事情。