使用仍处于开发阶段的其他解决方案中的代码

时间:2015-05-26 10:51:00

标签: c# visual-studio visual-studio-2013

这可能是一个微不足道的问题,但我如何使用与我目前工作的解决方案不同的项目中的代码?请注意,我想要使用的代码仍处于开发阶段。这些是我探索过的解决方案:

  • 右键单击解决方案,将项目作为现有项目添加到此解决方案中。
  • 添加对包含我需要的代码的调试/发布dll的引用。

我喜欢第一个选项,因为它允许我查看我正在使用代码的项目的结构和来源。此外,项目是使用Debug还是Release构建并不重要;最新的代码将自动使用。缺点(我认为是一个很大的缺点)是我可以在我的新解决方案中编辑这个项目。

第二个选项消除了意外编辑项目代码的可能性,但是在这里我无论是选择调试还是我需要的DLL版本。这对我没有吸引力。

那么,是否有第三种选择结合了这两种方法中的最佳方法,还是我完全遗漏了某些东西?

3 个答案:

答案 0 :(得分:1)

我们在开发环境中遇到同样的问题。我们使用的解决方案不是构建到bin文件夹,而是构建到当前项目范围之外的其他文件夹。每个项目都在那里输出文件(它也用于版本控制)。从该位置,您可以包含程序集。

当您将Debug更改为Release时,该文件将自动更新。无需切换到另一个文件夹。

答案 1 :(得分:0)

只需从otherproject / Debug / Release添加.dll即可 甚至更好:将postbuild脚本添加到'otherproject',以便将.dll版本始终复制到'library'目录中。

答案 2 :(得分:0)

  

缺点(我认为这是一个很大的缺点)是我可以在我的新解决方案中编辑这个项目。

另一方面,好处是您可以在新解决方案中编辑此项目。你为什么要对那个它不需要的项目进行改变?

如果项目很年轻,我更愿意将其作为这个原因的来源。将该项目的单元测试项目添加到您的解决方案中,然后您就可以在多个解决方案的上下文中改进项目。

如果项目不是很年轻,那么我建议使用私有nuget服务器分发二进制文件。它们设置起来非常快,成本低(它们需要一台可以运行Web服务器的机器,并且不会在该机器上占用大量资源),并且使用您自己的程序集就像使用任何其他nuget程序包一样简单。