Visual studio 有没有办法让一个项目在VisualStudio中构建另一个项目?

Visual studio 有没有办法让一个项目在VisualStudio中构建另一个项目?,visual-studio,build-process,reference,Visual Studio,Build Process,Reference,我们终于在工作中得到了一个源代码控制系统,我一直负责设置它。我读过,在源代码管理中不包含二进制文件通常是一种好的做法,所以我没有。但是,我们有两个通用的实用程序项目(每个项目都在自己的解决方案中),它们生成utility.dll,而utility.dll几乎包含在我们所有的其他项目中(每个项目都在各自独立的解决方案中)。我们从项目中添加对实用程序dll的引用 我希望我们的解决方案设置为,如果未构建引用dll,解决方案将为自己构建dll,这与文件检查其依赖项并在它们过期或丢失时构建它们的方式非常相

我们终于在工作中得到了一个源代码控制系统,我一直负责设置它。我读过,在源代码管理中不包含二进制文件通常是一种好的做法,所以我没有。但是,我们有两个通用的实用程序项目(每个项目都在自己的解决方案中),它们生成utility.dll,而utility.dll几乎包含在我们所有的其他项目中(每个项目都在各自独立的解决方案中)。我们从项目中添加对实用程序dll的引用

我希望我们的解决方案设置为,如果未构建引用dll,解决方案将为自己构建dll,这与文件检查其依赖项并在它们过期或丢失时构建它们的方式非常相似

我不熟悉用VS构建流程,所以请尽量保持答案简单。任何指向一般构建过程概述教程的链接都将非常好。谷歌搜索VS参考会返回一堆如何添加参考的链接,这并不是我想要的


回答:(3步流程)通过右键单击解决方案并添加现有项目,添加项目引用,而不是二进制引用。然后在“项目”选项卡下,选择“项目依赖项”并修改项目,使一个项目依赖于另一个项目。最后,删除对二进制文件的所有旧引用,并使用“添加引用”对话框中的“项目”选项卡重新添加引用。

在我工作的地方,我们通常使用项目引用,而不是二进制引用(正如我们不久前使用的那样)。当您包含项目引用时,dll将与应用程序的其余部分一起生成

我们唯一返回二进制引用的时间是在VisualStudio发布之间(例如,1个项目是在2010年,其他所有项目都是在2008年。2010年的项目将不得不使用二进制引用几个月,直到其他所有人都跟上……项目不兼容似乎是Visual Studio不应该存在的限制)

编辑


要添加项目引用,请右键单击解决方案,然后单击“添加”,最后单击“现有项目”请确保公用工程项目也受源代码管理,并确保工作区设置正确,否则其他人将无法正确打开项目!

如果引用公用工程,则它将同时生成两个项目。只需更改公用代码,或删除dll并重新生成。有关m MSDN:Thank@Span。这帮助我修复了其中的依赖项/生成顺序部分。项目引用听起来像我需要的,如何添加一个?右键单击Visual Studio中的解决方案,然后单击“添加现有项目”。然后从项目中删除旧引用,然后从“项目”选项卡中重新添加引用。@Logan谢谢,我回到这里只是想说它仍然不起作用,但这是拼图的最后一块。