Visual studio 2010 Visual Studio 2010,Clean Solution中断对解决方案中其他项目的引用

Visual studio 2010 Visual Studio 2010,Clean Solution中断对解决方案中其他项目的引用,visual-studio-2010,c#-4.0,reference,Visual Studio 2010,C# 4.0,Reference,我们公司计划启动一个新的大型WinForm项目,它将使用Visual Studio 2010以c#-4.0编写 该项目将有许多模块(生产、会计、服务等),每个模块都有许多可能的形式。因此,我们正在测试在单个解决方案中创建多个项目的想法,让每个模块都是它自己的项目,而不是拥有一个非常大的项目 我创建了一个包含两个项目的测试解决方案a和B,接下来我添加了每个项目作为对另一个项目的引用,当添加一个项目作为对另一个项目的引用时,我右键单击了引用>添加引用>浏览到其他项目的bin/Debug文件夹,并添加

我们公司计划启动一个新的大型WinForm项目,它将使用Visual Studio 2010以c#-4.0编写

该项目将有许多模块(生产、会计、服务等),每个模块都有许多可能的形式。因此,我们正在测试在单个解决方案中创建多个项目的想法,让每个模块都是它自己的项目,而不是拥有一个非常大的项目

我创建了一个包含两个项目的测试解决方案aB,接下来我添加了每个项目作为对另一个项目的引用,当添加一个项目作为对另一个项目的引用时,我右键单击了引用>添加引用>浏览到其他项目的bin/Debug文件夹,并添加了另一个项目的.exe作为引用。接下来,使用另一个项目作为名称空间,我可以做一些事情,比如表单继承和打开表单,或者在两个测试项目之间调用方法

但是我不小心单击了Clean Solution,它为我的两个项目清理了bin/Debug文件夹,我在这两个项目之间的所有引用都被破坏了


在单个解决方案内的项目之间添加永久引用的正确可靠方法是什么?我在想,我可以将每个项目的.exe物理复制到其他项目的bin中,然后将其添加为引用。但这意味着每次更新其他项目时,我都必须手动重新复制它。

听起来a和B之间存在循环依赖关系。我读对了吗?如果是这样,我会尝试改变设计。例如,您可以将共享代码分解到项目C中,并使A和B都依赖于C。@ama1111我认为您可能是正确的,但这将导致我们在该项目中尝试实现的一些问题。基本上,此解决方案中的每个项目都需要能够调用或启动解决方案中的任何其他项目。如果我没有手动添加引用,我如何在其他项目中调用或启动条目表单?如果您只需要从a启动可执行文件B,则不需要添加引用。但是,如果您需要从a实例化并显示在B中定义的表单,则需要引用,在这种情况下,您将需要避免循环依赖。在这种情况下,您可以考虑将所有这些项目包括在同一个项目中,并找到另一种方法将代码组织成“模块”(例如文件夹、命名空间等)。现在我们有进展了!我不知道我可以在没有引用的情况下启动解决方案中项目的exe。这应该可以解决我的问题,首先我必须弄清楚如何启动另一个项目的exe,然后我会做更多的测试。一些关于如何启动流程的文档。听起来a和B之间存在循环依赖关系。我读对了吗?如果是这样,我会尝试改变设计。例如,您可以将共享代码分解到项目C中,并使A和B都依赖于C。@ama1111我认为您可能是正确的,但这将导致我们在该项目中尝试实现的一些问题。基本上,此解决方案中的每个项目都需要能够调用或启动解决方案中的任何其他项目。如果我没有手动添加引用,我如何在其他项目中调用或启动条目表单?如果您只需要从a启动可执行文件B,则不需要添加引用。但是,如果您需要从a实例化并显示在B中定义的表单,则需要引用,在这种情况下,您将需要避免循环依赖。在这种情况下,您可以考虑将所有这些项目包括在同一个项目中,并找到另一种方法将代码组织成“模块”(例如文件夹、命名空间等)。现在我们有进展了!我不知道我可以在没有引用的情况下启动解决方案中项目的exe。这应该可以解决我的问题,首先我必须弄清楚如何启动另一个项目的exe,然后我会做更多的测试。一些关于如何启动流程的文档。