创建父解决方案的容器文件夹

在源代码管理插件 API 1.2 版中,用户可以为解决方案中的所有 Web 项目指定单个根源代码管理目标。 此单个根调用 super 统一的根 (SUR)。

在源代码管理插件 API 1.1 版,因此,如果用户添加了一个 multiproject 解决方案添加到源代码管理,提示用户为每个 Web 项目指定一个源代码管理目标。

新功能标志

SCC_CAP_CREATESUBPROJECT

SCC_CAP_GETPARENTPROJECT

新增功能

SccCreateSubProject 函数

SccGetParentProjectPath 函数

,当将解决方案添加到源代码管理时, Visual Studio IDE 几乎总是创建一个 SUR 文件夹。 具体而言,它因此在以下情况下:

  • 该项是文件共享 Web 项目。

  • 具有项目和解决方案文件的驱动器上。

  • 具有项目和解决方案文件的不同共享。

  • 项目分别添加了 (在源代码管理解决方案)。

在 Visual Studio 建议不带扩展名,名称 SUR 文件夹与解决方案的名称。 下表总结了两个版本的行为。

功能

tSource 管理插件 API 1.1 版

源代码管理插件 API 1.2 版

将解决方案添加到 SCC

SccInitialize()

SccGetProjPath()

SccGetProjPath()

SccOpenProject()

SccInitialize()

SccGetProjPath()

SccCreateSubProject()

SccCreateSubProject()

SccOpenProject()

将项添加到源代码管理解决方案

SccGetProjPath()

OpenProject()

SccGetParentProjectPath()

SccOpenProject()

备注

Visual Studio 假定,解决方案是 SUR 的直接子级。

示例

下表列出了两个示例。 在这两种情况下,提示 Visual Studio 用户输入解决方案的目标位置在源代码管理下,直到user_choice 指定为目标。当 user_choice 指定时,解决方案和两个项目都会添加,而不会提示源代码管理目标的用户。

解决方案包含

磁盘位置

数据库默认结构

sln1.sln

Web1

Web2

C: \Solutions \ sln1

C: \Inetpub\wwwroot\Web 1

\ \ server \ wwwroot$ \ web2

$user_choice/sln1

$user_choice/C/Web1

$user_choice/Web2

sln1.sln

Web1

Win1

C: \Solutions \ sln1

D: \Inetpub\wwwroot\Web 1

C: \solutions\sln1\Win 1

$user_choice/sln1

$user_choice/D/web1

$user_choice/sln1/win1

SUR 文件夹和子文件夹中创建无论操作是否已取消或失败由于错误。 它们在撤消或错误状态不会自动移除。

,如果源代码管理插件未返回 SCC_CAP_CREATESUBPROJECT 和 SCC_CAP_GETPARENTPROJECT 功能标志,Visual Studio 默认为 1.1 版行为。 此外, Visual Studio 的用户可以选择还原到 1.1 版行为通过设置以下键的值到大小: 00000001:

[HKEY_CURRENT_USER \Software\Microsoft\VisualStudio\8.0\SourceControl] "DoNotCreateSolutionRootFolderInSourceControl " =dword: 00000001

请参见

概念

什么是新在源代码管理插件 API 1.2 版