0

我有一个 Visual 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 包在一个解决方案中。

4

1 回答 1

1

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

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

我的决心

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

于 2013-04-19T15:37:30.680 回答