我在 Visual Studio 2015 中向 SSIS 添加自定义 SSIS 组件时遇到问题。
我的系统是: Windows 8.1 64 位
Visual Studio 社区 2015 版 14.0.24720.00 更新 1
Microsoft SQL Server 集成服务设计器 版本 13.0.900.80 (我已经安装了 SQL Server 2016 CTP3.2,所以 SSIS 的版本是这个版本——这可能是问题的一部分,它不是一个完全发布的产品,这可能是一个错误)
微软 .NET 框架 版本 4.6.01055
我试过使用 110 和 120 的程序集。我已经将两个 dll 添加到 GAC,将它们放在具有不同强签名名称的 x86 和 x64 文件夹中(见下文)。
110 个程序集
c:\Program Files (x86)\Microsoft SQL Server\110\DTS\PipelineComponents c:\Program Files\Microsoft SQL Server\110\DTS\PipelineComponents
120 个程序集
c:\Program Files (x86)\Microsoft SQL Server\120\DTS\PipelineComponents c:\Program Files\Microsoft SQL Server\120\DTS\PipelineComponents
我已经对此进行了研究,但找不到问题的任何明确答案。人们似乎提出问题,得到一些回应,然后没有回应告诉任何人如何解决这个问题,如以下帖子所示。
Visual Studio 2015 Integration Services project does not pick up my custom SSIS component
与原始帖子的唯一区别是我使用的是适用于 Visual Studio 2015 的 SQL Server Data Tools Preview(12 月),但这应该无关紧要吧?
我已经尝试更改项目中引用的程序集。在尝试我自己的代码后,我发现以下页面描述了如何开始构建自定义 SSIS 组件,并且无需做太多工作即可构建它,将 dll 添加到 GAC 和适当的 DTS 文件夹。
真正有用的是开发一个安装程序来获取系统设置,安装到 GAC,并将 dll 复制到正确的文件夹以供 SSIS 工具箱获取。这几乎就好像 Microsoft 想让创建和安装新的 SSIS 组件变得尽可能困难。
所以我有以下问题: 1. 我应该为 Visual Studio 2015 中的 SSIS 组件使用什么版本的 .NET? 2. 我应该使用什么版本的 gacutil(我听说这很重要)? 3. dll需要放到什么文件夹才能被SSIS工具箱提取。 4.我应该将dll放在x86或x64文件夹中吗?我的系统是 x64,但 Visual Studio exe 是 x86 可执行文件,所以我猜 x86 文件夹是正确的。 5.我把dll放在多个文件夹里有关系吗? 5. 有没有人真正设法在 Visual Studio 2015 中添加自定义 SSIS 组件?
如有任何帮助或意见,我们将不胜感激。
马特
最佳答案
OP 的评论,转换为答案:
好的,我终于设法解决了这个问题:
我使用的是 .NET Framework 4.6。我确保使用以下文件夹中的 gacutil.exe 添加到 gac:C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6 Tools 并将 dll 复制到以下位置文件夹:C:\Program Files (x86)\Microsoft SQL Server\130\DTS\PipelineComponents
刷新 SSIS 工具箱后,组件现在出现在公共(public)文件夹/子部分中。
我希望这对遇到此问题的其他人有所帮助。
– mattp 2016 年 1 月 31 日 2:14
关于c# - Visual Studio 2015 SSIS - 未在 SSIS 工具箱中选取自定义 SSIS 组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35109219/
我在Rails工作并有以下类(class):classPlayer当我运行时bundleexecrailsconsole然后尝试:a=Player.new("me",5.0,"UCLA")我回来了:=>#我不知道为什么Player对象不会在这里初始化。关于可能导致此问题的操作/解释的任何建议?谢谢,马里奥格 最佳答案 havenoideawhythePlayerobjectwouldn'tbeinitializedhere它没有初始化很简单,因为你还没有初始化它!您已经覆盖了ActiveRecord::Base初始化方法,但您没有调
如何在ruby中调用C#dll? 最佳答案 我能想到几种可能性:为您的DLL编写(或找人编写)一个COM包装器,如果它还没有,则使用Ruby的WIN32OLE库来调用它;看看RubyCLR,其中一位作者是JohnLam,他继续在Microsoft从事IronRuby方面的工作。(估计不会再维护了,可能不支持.Net2.0以上的版本);正如其他地方已经提到的,看看使用IronRuby,如果这是您的技术选择。有一个主题是here.请注意,最后一篇文章实际上来自JohnLam(看起来像是2009年3月),他似乎很自在地断言RubyCL
我正在尝试在Ruby中复制Convert.ToBase64String()行为。这是我的C#代码:varsha1=newSHA1CryptoServiceProvider();varpasswordBytes=Encoding.UTF8.GetBytes("password");varpasswordHash=sha1.ComputeHash(passwordBytes);returnConvert.ToBase64String(passwordHash);//returns"W6ph5Mm5Pz8GgiULbPgzG37mj9g="当我在Ruby中尝试同样的事情时,我得到了相同sha
C#实现简易绘图工具一.引言实验目的:通过制作窗体应用程序(C#画图软件),熟悉基本的窗体设计过程以及控件设计,事件处理等,熟悉使用C#的winform窗体进行绘图的基本步骤,对于面向对象编程有更加深刻的体会.Tutorial任务设计一个具有基本功能的画图软件**·包括简单的新建文件,保存,重新绘图等功能**·实现一些基本图形的绘制,包括铅笔和基本形状等,学习橡皮工具的创建**·设计一个合理舒适的UI界面**注明:你可能需要先了解一些关于winform窗体应用程序绘图的基本知识,以及关于GDI+类和结构的知识二.实验环境Windows系统下的visualstudio2017C#窗体应用程序三.
我有一个ids和他们的分数的散列,它是这样的:@objects={1=>57,4=>12,3=>9,5=>3,55=>47,32=>39,17=>27,29=>97,39=>58}我怎样才能选出前五名并放弃其余的?我这样做:@orderedObject=@objects.sort_by{|k,v|v}.reverse=>[[29,97],[39,58],[1,57],[55,47],[32,39],[17,27],[4,12],[3,9],[5,3]]然后我这样做:只有@orderedObjects的键:@keys=@orderedObject.map{|key,value|key}这
我的任务是从数组中选择最高和最低的数字。我想我很清楚我想做什么,但只是努力以正确的格式访问信息以满足通过标准。defhigh_and_low(numbers)array=numbers.split("").map!{|x|x.to_i}array.sort!{|a,b|ba}putsarray[0,-1]end数字可能看起来像"80917234100",要通过,我需要输出"9234"。我正在尝试putsarray.first.last,但一直无法弄明白。 最佳答案 有Array#minmax完全满足您需要的方法:array=[80,
我如何做Ruby方法"Flatten"RubyMethod在C#中。此方法将锯齿状数组展平为一维数组。例如:s=[1,2,3]#=>[1,2,3]t=[4,5,6,[7,8]]#=>[4,5,6,[7,8]]a=[s,t,9,10]#=>[[1,2,3],[4,5,6,[7,8]],9,10]a.flatten#=>[1,2,3,4,5,6,7,8,9,10 最佳答案 递归解决方案:IEnumerableFlatten(IEnumerablearray){foreach(variteminarray){if(itemisIEnume
我最近从C#转向了Ruby,我发现自己无法制作可折叠的标记代码区域。我只是想到做这种事情应该没问题:classExamplebegin#agroupofmethodsdefmethod1..enddefmethod2..endenddefmethod3..endend...但是这样做真的可以吗?method1和method2最终与method3是同一种东西吗?还是有一些我还没有见过的用于执行此操作的Ruby惯用语? 最佳答案 正如其他人所说,这不会改变方法定义。但是,如果要标记方法组,为什么不使用Ruby语义来标记它们呢?您可以使用
什么是Linq聚合方法的ruby等价物。它的工作原理是这样的varfactorial=new[]{1,2,3,4,5}.Aggregate((acc,i)=>acc*i);每次将数组序列中的值传递给lambda时,变量acc都会累积。 最佳答案 这在数学以及几乎所有编程语言中通常称为折叠。它是更普遍的变形概念的一个实例。Ruby从Smalltalk中继承了这个特性的名称,它被称为inject:into:(像aCollectioninject:aStartValueinto:aBlock一样使用。)所以,在Ruby中,它称为inj
我正在尝试根据RyanBatesscreencastonsubdomains在Rails3中设置子域.但是它对我不起作用。我有以下设置:#routes.rbconstraints(Subdomain)doget'devices'=>'devices#all'end#lib/subdomain.rbclassSubdomaindefself.matches?(request)#binding.pryrequest.subdomain.present?&&request.subdomain=="admin"endend加载urladmin.localhost:3000/devices应该将