更新: 重新启动我的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中的工具箱中...但是当我尝试将其拖到设计器上时会弹出错误....
答案 0 :(得分:0)
从GAC和任务文件夹中删除了我的dll,然后重新创建
答案 1 :(得分:0)
重新启动我的BIDS后,从GAC和任务文件夹中删除了我的dll,并重做了整个过程,我能够解决问题。所以我不确切地知道出了什么问题,但这是值得尝试的事情。