【问题标题】:Is it possible to work on the same assembly in different projects in .Net?是否可以在.Net 的不同项目中处理相同的程序集?
【发布时间】:2009-12-08 20:14:37
【问题描述】:

我很想知道人们在大型开发团队中的工作方式。

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

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

我想知道,当开发人员在开发 System.Windows.Forms 时,他们是否都在开发同一个项目,或者在某个时候都合并在一起的单独项目。

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

(1) 这是怎么做到的?

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

此外,当您运送特定产品时,是否会花费大量时间来提取、合并和内部化最终产品的类?

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

【问题讨论】:

    标签: c# .net vb.net development-environment


    【解决方案1】:

    关键是源代码管理

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

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

    【讨论】:

    • 你的第二段是很好的建议!现在我读了它似乎很明显。我现在正在重新组织我的一些项目。我希望未来的事情会从一个更好的组织中进行得更顺利。谢谢!
    【解决方案2】:

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

    诚然,VS 不得不列出项目中的文件,这让事情变得更糟——这意味着源代码控制中有一个频繁的合并点——但对我来说,拥有数百个小型项目听起来并不具有可扩展性。

    在同一个项目上与其他人合作也有其不利之处,但总的来说,我想说你应该找出你的代码在逻辑上有意义的地方,并制定项目结构——不要让你的代码基于你的 团队结构和谁在做这项工作。

    【讨论】:

    • 我讨厌 .csproj 文件中反复出现的合并冲突。
    • @Martinho:当然——如果其他人的代码名称相似,很容易意外地用你的代码“替换”他们的代码:( 我喜欢 Eclipse 方法,它假定源目录下的所有代码都是一部分项目的:)
    【解决方案3】:

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

    例如,有一个解决方案将引用程序集项目作为项目包含在内(以便我可以对其进行调试),而另一种解决方案仅将其作为参考 dll,我对调试它不感兴趣。

    【讨论】:

      【解决方案4】:

      我同意这通常是源代码管理的用武之地,但如果您真正独立工作并希望在源代码管理之外的单独项目上进行开发,您始终可以ILMerge 相关程序集。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-04-16
        • 2014-06-11
        • 1970-01-01
        • 2017-07-01
        • 2012-02-08
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多