Gra*_*ton 3 version-control project-management
我在一个五人小组工作.我们正在开发一个包含五个csproject的C#应用程序.
问题是,对于每个csproject,我的每个同事都有自己的想法如何引用DLL; 有些想通过Project引用链接,其他想只在DLL中链接.因此,我们每个人都将拥有自己的csproject.
我希望所有人都检查他们的csproject; 但鉴于csproject的每个副本都不同,实际上没有可行的机制,是吗?但如果我不要求他们检查他们的csproject,那么每次他们添加一个新文件时,我都必须手动编辑我的csproject,这非常繁琐,更不用说它超越了持续集成的目的.
是否有任何策略来处理这个问题?我知道最好是执行标准,但还有其他选择吗?
csproject内容对每个人来说都有所不同; 不是每个人都拥有五个csprojects,并不是每个人都可以拥有所有5个csprojects.所以有些人总是不得不引用DLL而不是项目,有些人希望通过项目来引用以便于调试.如果我要执行标准,正如这里的答案所示,我将不得不解决这个问题.
至于为什么我们需要拆分成多个csprojects,那是因为我们想要为其他应用程序重用代码的某些部分,因为不是每个人都可以访问源代码.它更具政治性而非技术性.
Dan*_*ath 11
您的问题不是如何使用源代码管理来处理它.
您的问题是您(或管理层)需要让您的团队采用整个团队遵循的一套标准.
如果你让每个人都遵循他们自己的想法,并且没有团队凝聚力的基础知识,它只会以泪水结束......
你几乎肯定会解决错误的问题.如果您将.csproj文件分叉以满足自适应首选项,则会产生额外的工作并引入错误的可能性,正如您所描述的那样 - 每次Alice向AlicesX.csproj添加文件时,Bob都必须了解这一点并将相同的文件添加到BobsX.csproj.
您真的需要将此视为标准和团队动态的问题:同意如何在主源中引用DLL,并要求每个人都坚持这一点.如果"失败"的一方不喜欢以这种方式工作,当然,他们可以在他们的私人工作副本中使用他们喜欢的风格.但是你真的只想要一个主要来源,并且你想要让所有人购买主要来源的方式.
根据你的编辑:如果你真的,真的无法与你的同事达成协议,那么我仍然会建议一个单一的主人,但写一个反对者可以使用的实用程序将项目引用转换为DLL引用(反之亦然)..csproj文件只是XML,所以这很简单.如果您甚至无法就存储库格式达成一致,那么您将需要维护并行的.csproj文件,但我仍然会编写该实用程序以确保将对DllReferencingProj.csproj所做的更改复制到ProjectReferencingProj.csproj.但是我仍然说你只是做了更多的工作并为自己储存了更多的痛苦,而不是因为你有争吵并完成了它:为了团队运作,你需要找到一些解决方法争议,这和测试案例一样好.