.dll引用,SSIS包和类库项目

时间:2013-04-11 16:27:16

标签: visual-studio-2010 ssis

我有一个visual Studion解决方案,其中包含不同的SSIS包以及自定义组件的类库项目。类库项目具有post build事件,它将.dll文件复制到GAC并复制到PipelineComponent(C:\ Program Files(x86)\ Microsoft SQL Server \ 110 \ DTS \ PipelineComponents)。现在,当我打开visual studio解决方案并尝试第二次构建类库项目时,它会给我一个错误,因为.dll文件已经被其他SSIS包使用的visual studio锁定。

现在,我如何告诉visual studio不要锁定.dll文件?我试图卸载SSIS包,但它没有用。

请注意,我希望我的类库项目和SSIS包在一个解决方案中。

1 个答案:

答案 0 :(得分:1)

你有一个解决方案。您的解决方案包含2个项目:一个是.NET类库项目,另一个是SSIS项目。

您遇到的问题是您无法覆盖管道组件文件夹中的dll,因为SSIS项目正在使用它。我在开发自定义组件时遇到了同样的问题。我不记得是否是SSIS工具箱将锁定放在文件或包实际上使用锁定它的组件。我也不记得我的最终决议是什么,但我尝试了各种各样的事情。

我的决议

从解决方案中排除SSIS项目。您可以通过从解决方案中删除它来永久执行此操作,也可以在构建阶段卸载项目暂时执行此操作。最后,我走了这条路,并在其中创建了一个单独的解决方案,其中包含SSIS项目。这使我可以在需要重新部署DLL时在其他VS实例中卸载项目。它还使我能够在SSIS项目中放置断点,这允许我附加.NET的VS调试器,然后调试到我的自定义组件。也许他们已经解决了自2005年以来的问题,但在那时,你被迫使用2个VS实例来调试你的软件包。