MSSCCPRJ.SCC 文件

使用 IDE 时, Visual Studio 解决方案或项目置于源代码管理下,以字符串的形式, IDE 获取两个关键信息从源代码管理插件的。 这些字符串, “AuxPath”和 “ProjName”,是不透明的更改 IDE,这种情况,但插件使用这些属性定位解决方案或项目版本控制。 IDE 通过调用 SccGetProjPath 函数第一次通常获取这些字符串,因此,它在解决方案然后将它们保存或未来的项目文件调用 SccOpenProject 函数。 当嵌入解决方案和项目文件,不会自动更新 “AuxPath”和 “ProjName”字符串,当用户除法,在版本控制中的分叉,或复制解决方案和项目文件。 若要确保,解决方案和项目文件指向这些版本控制的正确位置,用户必须手动更新字符串。 由于字符串被视为不透明的,不能始终明确他们应如何更新。

源代码管理插件可以通过存储 “AuxPath”和 “ProjName”字符串避免此问题在调用 MSSCCPRJ.SCC 文件的私有文件。 它是局部的,该插件拥有并维护的客户端文件。 此文件不会置于源代码管理下,但由包含源代码管理文件的每个目录插件生成。 若要确定哪些文件是 Visual Studio 解决方案和项目文件,源代码管理插件可以将标准比较文件扩展名或用户提供列表。 在 IDE 检测插件支持 MSSCCPRJ.SCC 文件,它将会停止 text “AuxPath”和 “ProjName”字符串添加到解决方案和项目文件,因此,它读取这些字符串从 MSSCCPRJ.SCC 文件。

支持 MSSCCPRJ.SCC 文件的源代码管理插件必须遵循以下准则:

  • 只能有每目录一 MSSCCPRJ.SCC 文件。

  • MSSCCPRJ.SCC 文件可以包含 “AuxPath”和 “ProjName”在特定目录中的源代码管理的多文件程序。

  • “AuxPath”字符串不能有在其中的引号。 它允许在内容周围具有引号作为分隔符 (例如,双引号对用于指示一个空字符串)。 ,当从 MSSCCPRJ.SCC 文件,读取 IDE 从 “AuxPath”字符串将去除所有引号。

  • 在 MSSCCPRJ.SCC 文件的 “ProjName”字符串必须与从 SccGetProjPath 函数返回的字符串。 如果该函数返回的字符串具有引号在内容周围,在 MSSCCPRJ.SCC 文件的字符串必须在内容周围具有引号,反之亦然。

  • MSSCCPRJ.SCC 文件中创建或更新后,每当文件放置在源代码管理。

  • 如果 MSSCCPRJ.SCC 删除以下文件,提供程序应重新生成它,在下次针对该目录的源代码管理操作。

  • MSSCCPRJ.SCC 文件必须严格遵循所定义的布局。

MSSCCPRJ.SCC 文件格式的图

以下 MSSCCPRJ.SCC 文件格式的示例 (行号在文件主体只提供一般原则是,并不应包括):

[行] SCC = This is a Source Code Control file1

[行 2]

[行] [TestApp.sln]3

[行] SCC_Aux_Path = "\\server\vss\"4

[行] SCC_Project_Name = "$/TestApp"5

[行 6]

[行] [TestApp.csproj]7

[行] SCC_Aux_Path = "\\server\vss\"8

[行] SCC_Project_Name = "$/TestApp"9

第一行指定文件的用途并用作签名用作此类型的所有文件。 此行应显示方式与此在所有 MSSCCPRJ.SCC 文件:

SCC = This is a Source Code Control file

哪些操作。设置的部分每个文件的,指示由文件名在方括号。 本节提供有关跟踪的每个文件重复。 此行是文件名,也就是说, [TestApp.csproj]的示例。 IDE 需要以下两行。 它,但是,不定义已定义的值的样式。 变量是 SCC_Aux_Path 和 SCC_Project_Name。

SCC_Aux_Path = "\\server\vss\"

SCC_Project_Name = "$/TestApp"

不结束分隔符到本节。 显示文件,以及任何文本的名称,在 scc.h 头文件中定义的。 有关更多信息,请参见 用作查找源代码管理插件的关键字的字符串

请参见

概念

用作查找源代码管理插件的关键字的字符串

其他资源

源代码管理插件