首先,我将描述一个如何在Visual Studio中使用C#实现这一点的示例,因为VS通常会通知您是否有循环引用并阻止它.
首先,仅依靠Visual Studio和.Net为您提供的代码创建Utilities类.然后,创建一个依赖于Utilities 的电子邮件类.不是将两个项目都添加到单个解决方案中,而是创建新的解决方案并添加对Utilities.dll的引用.然后,一段时间后,有人决定他们希望Utilities类发送电子邮件并添加对Email.dll的引用.Visual Studio非常乐意让您这样做,但是现在源代码不会在没有二进制文件的情况下按原样编译.
在我的工作地点,在进行开发时复制并粘贴二进制文件是标准的过程,然后只构建您正在处理的项目.这导致代码库中至少有一个循环引用已经被忽视超过3年.
这对我来说似乎是一个非常糟糕的做法,因为没有先从DLL开始构建任何项目.这个论点与我合作的"实际"人群有点平淡,因为我们似乎不太可能同时丢失所有二进制文件的副本.二进制文件在任何时候都不存储在版本控制中,这只会让我更担心.
这似乎是应该避免的情况,但不是造成任何明显威胁的情况.项目之间的循环引用真的很重要,还是我把它吹得不成比例?
在Visual Studio中,在解决方案中创建新的Windows窗体时会创建两个文件(例如,如果创建MyForm.cs,则还会创建MyForm.Designer.cs和MyForm.resx).这两个后两个文件在解决方案资源管理器中显示为子树.
有没有办法将文件添加到Windows Form类的子树或组?