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

pculpa 发布于 2019-03-09 ssis 最后更新 2019-03-09 14:38 3 浏览

我有一个可视化Studion解决方案,其中包含不同的SSIS包以及用于定制组件的类库项目。类库项目具有后构建事件,该事件将.dll文件复制到GAC和PipelineComponent(C:\ Program Files(x86)\ Microsoft SQL Server \ 110 \ DTS \ PipelineComponents)中。现在,当我打开Visual Studio解决方案并尝试第二次构建类库项目时,它会给我一个错误,可能是因为.dll文件已被其他SSIS包使用的Visual Studio锁定。 现在,我如何告诉visual studio不锁定.dll文件?我试图卸载SSIS包,但没有奏效。 请注意,我希望我的类库项目和SSIS包在一个解决方案。

已邀请:

nautem

赞同来自:

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

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