Criar pastas de contêiner pai para soluções

Na API de Plug-in de Controle do Código-Fonte versão 1.2, um usuário pode especificar um destino de controle do código-fonte raiz único para todos os projetos Web dentro da solução. Essa raiz única é chamada de SUR (Raiz Super Unificada).

Na API de Plug-in de Controle do Código-Fonte Versão 1.1, se o usuário adicionou uma solução multiprojeto ao controle do código-fonte, o usuário foi solicitado a especificar um destino de controle do código-fonte para cada projeto Web.

Novos sinalizadores de funcionalidade

SCC_CAP_CREATESUBPROJECT

SCC_CAP_GETPARENTPROJECT

Novas funções

O Visual Studio IDE quase sempre cria uma pasta SUR ao adicionar uma solução ao controle do código-fonte. Especificamente, ele faz isso nos seguintes casos:

  • O projeto é um projeto Web de compartilhamento de arquivos.

  • Há unidades diferentes para o projeto e o arquivo de solução.

  • Há compartilhamentos diferentes para o projeto e o arquivo de solução.

  • Os projetos foram adicionados separadamente (em uma solução controlada por origem).

No Visual Studio , é sugerido que o nome da pasta SUR seja o mesmo que o nome da solução sem a extensão. A tabela a seguir resume o comportamento nas duas versões.

Recurso API de plug-in de controle do código-fonte versão 1.1 API de plug-in de controle do código-fonte versão 1.2
Adicionar solução ao SCC SccInitialize()

SccGetProjPath()

SccGetProjPath()

SccOpenProject()
SccInitialize()

SccGetProjPath()

SccCreateSubProject()

SccCreateSubProject()

SccOpenProject()
Adicionar projeto à solução controlada por origem SccGetProjPath()

OpenProject()
SccGetParentProjectPath()

SccOpenProject()

Observação: Visual Studio assume que uma solução é um filho direto do SUR.

Exemplos

A tabela a seguir lista dois exemplos. Em ambos os casos, o usuário é solicitado a encontrar um local de destino para a solução no controle do código-fonte até que o user_choice seja Visual Studio especificado como um destino. Quando a user_choice é especificada, a solução e dois projetos são adicionados sem solicitar ao usuário destinos de controle do código-fonte.

A solução contém Em locais de disco Estrutura padrão do banco de dados
sln1.sln

Web1

Web2
C:\Solutions\sln1

C:\Inetpub\wwwroot\Web1

\\server\wwwroot$\Web2
$/<user_choice>/sln1

$/<user_choice>/C/Web1

$/<user_choice>/Web2
sln1.sln

Web1

Win1
C:\Solutions\sln1

D:\Inetpub\wwwroot\Web1

C:\solutions\sln1\Win1
$/<user_choice>/sln1

$/<user_choice>/D/web1

$/<user_choice>/sln1/win1

A pasta SUR e as subpastas são criadas independentemente de a operação ter sido cancelada ou falhar devido a um erro. Eles não são removidos automaticamente em condições de cancelamento ou erro.

Visual Studio assume como padrão o comportamento da Versão 1.1 se o plug-in de controle do código-fonte não retornar SCC_CAP_CREATESUBPROJECT SCC_CAP_GETPARENTPROJECT sinalizadores de funcionalidade e . Além disso, os usuários do podem optar por reverter para o comportamento da Versão 1.1 definindo o valor da seguinte chave como Visual Studio dword:00000001:

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

Confira também