Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 是否可以在.Net的不同项目中处理同一程序集?_C#_.net_Vb.net_Development Environment - Fatal编程技术网

C# 是否可以在.Net的不同项目中处理同一程序集?

C# 是否可以在.Net的不同项目中处理同一程序集?,c#,.net,vb.net,development-environment,C#,.net,Vb.net,Development Environment,我很想知道人们是如何在大型开发团队中工作的 我自己工作,每次我创建一个全新的控件时,我都会创建一个新项目来将所有相关文件保存在一起 我导入了各种常见的辅助程序集,但在大多数情况下,不同的控件保存在不同的项目中 我想知道,当开发人员在(比如)System.Windows.Forms上工作时,他们是在同一个项目上工作,还是在不同的项目上工作,这些项目在某一点上都合并在一起了 如果它们以后合并在一起- (1) 这是怎么做到的 (2) 有没有一种方法可以将一个类标记为Public,但在合并后告诉它切换到

我很想知道人们是如何在大型开发团队中工作的

我自己工作,每次我创建一个全新的控件时,我都会创建一个新项目来将所有相关文件保存在一起

我导入了各种常见的辅助程序集,但在大多数情况下,不同的控件保存在不同的项目中

我想知道,当开发人员在(比如)System.Windows.Forms上工作时,他们是在同一个项目上工作,还是在不同的项目上工作,这些项目在某一点上都合并在一起了

如果它们以后合并在一起-

(1) 这是怎么做到的

(2) 有没有一种方法可以将一个类标记为Public,但在合并后告诉它切换到Friend

另外,当您要发布一个特定的产品时,是否需要花费大量的时间来提取、合并和内部化成品的类


顺便说一句,我使用的是快速版。

当然,此外,我通常会有几个不同的解决方案使用相同的程序集,或者在相同的“解决方案空间”中使用程序集的不同子集


例如,一个解决方案将引用汇编项目作为一个项目(这样我就可以调试到其中),另一个解决方案将它作为一个引用dll,我对调试到其中不感兴趣

我认为这里的问题是“为每个控件创建一个新项目”——这对我来说是个坏主意。后来不得不合并是一种痛苦

诚然,VS必须列出项目中的文件,这意味着在源代码管理中有一个频繁的合并点,这使得事情变得更糟,但是有数百个小项目对我来说听起来不可伸缩


在同一个项目上与其他人合作也有其缺点,但总的来说,我想说的是,你应该找出你的代码在逻辑上有意义的地方,并确定项目结构——不要将你的代码建立在你的团队结构和谁碰巧在做这项工作的基础上。

关键是源代码管理

解决方案中的每个项目在源代码控制方面是独立的。设置解决方案时,请使用源代码管理系统的链接功能,以便使用特定项目的所有解决方案都提交回同一位置。如果需要对在不同解决方案之间共享的项目进行更改,该更改将提交回存储库,并在继续工作之前在其他解决方案中进行更新


你永远不想让自己陷入一个合并项目的境地。VisualStudio解决方案可以有许多项目。也就是说,您可能希望将各个控件组合在一起,以便类似的项位于同一项目中,而不是每个项目只有一个控件。如果您担心将相关文件保存在一起,可以在项目中使用文件夹。

我同意这通常是源代码管理的用武之地,但是如果您确实在单独工作,并且希望在源代码管理之外的单独项目上开发,则始终可以使用相关程序集


它非常易于使用,并且可以使用命令行上的一个命令将人们一起工作的单独程序集合并到一个程序集中。

我讨厌.csproj文件中反复出现的合并冲突。@Martinho:绝对-如果其他人的代码具有相似的名称,则很容易意外地用您的代码“替换”其他人的代码:(我喜欢Eclipse方法,它假设源目录下的所有代码都是项目的一部分:)您的第二段是很好的建议!现在我读到它似乎很明显。我现在正在重新组织我的一些项目。我希望将来会有更好的组织,事情会进展得更顺利。谢谢!