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

Aplica-se a:yes Visual Studio noVisual Studio para Mac noVisual Studio Code

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

Na API do Plug-in de Controle do Código-Fonte versão 1.1, se o usuário adicionou uma solução multiprojeta ao controle do código-fonte, o usuário será 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 IDE do Visual Studio 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 pela origem).

No Visual Studio, sugere-se 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 do plug-in de controle do código-fonte versão 1.1 API do 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 pela origem SccGetProjPath()

OpenProject()
SccGetParentProjectPath()

SccOpenProject()

Nota: O Visual Studio pressupõe que uma solução seja um filho direto do SUR.

Exemplos

A tabela a seguir lista dois exemplos. Em ambos os casos, o usuário do Visual Studio é solicitado a solicitar um local de destino para a solução sob controle do código-fonte até que o user_choice seja especificado como um destino. Quando o user_choice é especificado, 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 ser cancelada ou falhar devido a um erro. Eles não são removidos automaticamente em condições de cancelamento ou erro.

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

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

Confira também