Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.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
Visual studio VS2005和VSS。.exes、.dll、pdb、.resource和生成的.xml文件应该放在VSS中吗?_Visual Studio_Visual Sourcesafe_Visual Sourcesafe 2005 - Fatal编程技术网

Visual studio VS2005和VSS。.exes、.dll、pdb、.resource和生成的.xml文件应该放在VSS中吗?

Visual studio VS2005和VSS。.exes、.dll、pdb、.resource和生成的.xml文件应该放在VSS中吗?,visual-studio,visual-sourcesafe,visual-sourcesafe-2005,Visual Studio,Visual Sourcesafe,Visual Sourcesafe 2005,似乎以下类型的文件需要可写才能编译解决方案。 .exe .dll .pdb(如果正在调试) .资源(?) .xml(至少是系统生成的文档。我不确定它们是否都是xml文档文件) 如果它们被签入,并且只能由签出它们的人由编译器覆盖,那么将它们签入sourcesafe并要求签出来修改它们(每次运行时编译器都会尝试这样做),这将干扰其他开发人员的调试和运行能力 最佳做法是什么?似乎VSS会自动添加所有内容 通常情况下,您不希望签入任何生成的文件,除非您只生成一次,然后从那里“剪切并运行”文件(即,您永远

似乎以下类型的文件需要可写才能编译解决方案。 .exe .dll .pdb(如果正在调试) .资源(?) .xml(至少是系统生成的文档。我不确定它们是否都是xml文档文件)

如果它们被签入,并且只能由签出它们的人由编译器覆盖,那么将它们签入sourcesafe并要求签出来修改它们(每次运行时编译器都会尝试这样做),这将干扰其他开发人员的调试和运行能力


最佳做法是什么?似乎VSS会自动添加所有内容

通常情况下,您不希望签入任何生成的文件,除非您只生成一次,然后从那里“剪切并运行”文件(即,您永远不会重新生成它们)。对于使用单个签出锁的版本控制系统(如VSS),尤其如此

如果您想对生成的文件进行版本化,我建议您不要在解决方案/项目位置对其进行版本化,而是使用一个单独的流程将其复制到其他位置,并在其中进行检查。如果您在sln/proj中对生成的文件进行版本设置,您将做恶梦,与人们争先恐后地将其签出并重新签入


我相信您可以将VSS设置为不在签出时执行独占锁定,但一般来说,我不会签入生成的文件。您应该尝试使您的系统达到这样一种状态:如果需要返回到生成文件的以前版本,请签出“源”文件的相应版本/标记,然后从那里重新生成其他文件。

在一般情况下,作为生成过程一部分创建的文件不会签入版本控制

但是,如果需要处理测试中或最终用户发现的问题报告/bug,您很可能希望归档所有或部分文件(可能在特定的里程碑处,尤其是在开发人员组织之外发布这些文件时)


您是否希望归档发生在与源工件相同的仓库中(甚至使用相同的版本控制软件),这是一个不同的决定。通常,这类归档不是真正的版本控制系统,但可能是一个网络共享,其目录遵循特定的命名约定,因此这些工件可以与源的特定版本匹配。如何管理这些项的生存期(以及应该是什么生存期)是另一个需要由特定组织的需要和策略确定的问题。

Visual Studio在选择要添加到源代码安全的正确项方面做得很好。设置新项目时,使用“项目”上下文菜单或“文件”菜单中的命令


一个常见的错误是从VSS中添加文件夹。

VSTS是否有更好的智能,以便在选择“将解决方案添加到源代码管理”时,它只添加大多数人希望的内容?