似乎以下类型的文件需要可写才能编译解决方案。.exe .dll .pdb (如果调试) .resource (?) .xml (至少是系统生成的。我不确定它们是否只是所有 XML 文档文件)
如果它们已签入并且只能由签出它们的人由编译器覆盖,那么将它们签入 sourcesafe 并要求签出以修改它们(每次运行时编译器都会尝试这样做)会干扰其他开发人员调试和运行的能力。
最佳做法是什么?似乎 VSS 会自动添加所有内容。
似乎以下类型的文件需要可写才能编译解决方案。.exe .dll .pdb (如果调试) .resource (?) .xml (至少是系统生成的。我不确定它们是否只是所有 XML 文档文件)
如果它们已签入并且只能由签出它们的人由编译器覆盖,那么将它们签入 sourcesafe 并要求签出以修改它们(每次运行时编译器都会尝试这样做)会干扰其他开发人员调试和运行的能力。
最佳做法是什么?似乎 VSS 会自动添加所有内容。
通常,您不想签入任何生成的文件,除非您生成它们一次,然后从那里“剪切并运行”这些文件(即您永远不会重新生成它们)。对于使用单签出锁的 VSS 等版本控制系统尤其如此。
如果要对生成的文件进行版本控制,我建议不要在解决方案/项目位置对它们进行版本控制,而是有一个单独的过程将它们复制到其他地方,并在那里检查它们。如果您在 sln/proj 中对生成的文件进行版本化,您将做噩梦与人们争吵以将它们签出并重新签入。
我相信您可以将 VSS 设置为不对签出进行排他锁定,但总的来说,我会远离签入生成的文件。您应该尝试使您的系统达到这样的程度,如果您需要返回到生成文件的先前版本,您检查“源”文件的适当版本/标签并从那里重新生成其他文件。
通常,作为构建过程的一部分创建的文件不会检入版本控制。
但是,如果您需要处理在测试中发现的问题报告/错误,或者通过终端用户。
您是否希望存档与您的源工件在同一个仓库中(甚至使用相同的版本控制软件)是一个不同的决定。通常,此类存档并不是真正的版本控制系统,而可能是具有遵循特定命名约定的目录的网络共享,因此这些工件可以与源的特定修订版相匹配。如何管理这些项目的生命周期(以及生命周期应该是多少)是另一个需要由特定组织的需求和策略来确定的问题。
Visual Studio 在选择要添加到源安全的正确项目方面做得很好。设置新项目时,使用项目上下文菜单或文件菜单中的命令。
一个常见的错误是从 VSS 添加文件夹。