Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Você pode criar um ambiente de build em sua organização instalando o Visual Studio em um computador host e copiando vários arquivos e configurações para outro computador para que ele possa participar de builds. Você não precisa instalar o Visual Studio no outro computador.
Este documento não confere direitos para redistribuir o software externamente ou fornecer ambientes de build para terceiros.
Disclaimer
Este documento é fornecido com base em "como está". Embora tenhamos testado as etapas descritas, não podemos testar exaustivamente todas as configurações. Tentaremos manter o documento atualizado com informações adicionais aprendidas. Informações e opiniões expressas neste documento, incluindo URLs e outras referências de sites da Internet, podem ser alteradas sem aviso prévio. A Microsoft não oferece garantias, expressas ou implícitas, em relação às informações fornecidas aqui. Você assume o risco de usá-las.
Este documento não fornece direitos legais a qualquer propriedade intelectual em qualquer produto da Microsoft. Você pode copiar e usar este documento para suas finalidades internas de referência.
Você não tem obrigação de fornecer à Microsoft sugestões, comentários ou outros comentários ("Comentários") relacionados a este documento. No entanto, quaisquer comentários que você fornecer voluntariamente podem ser usados em Produtos da Microsoft e especificações relacionadas ou em outra documentação (coletivamente, "Ofertas da Microsoft") que, por sua vez, podem ser utilizados por outros terceiros para desenvolver seus próprios produtos. Assim, se você fornecer comentários da Microsoft sobre qualquer versão deste documento ou as Ofertas da Microsoft às quais elas se aplicam, você concordará: (a) a Microsoft pode usar, reproduzir, licenciar, distribuir e comercializar seus Comentários em qualquer Oferta da Microsoft; (b) Você também concede a terceiros, sem encargos, apenas os direitos de patente necessários para permitir que outros produtos usem ou interfacem com quaisquer partes específicas de um Produto da Microsoft que incorporem Seus Comentários; e (c) Você não fornecerá à Microsoft nenhum Comentário (i) que você tenha motivos para acreditar estar sujeito a qualquer patente, direitos autorais ou outra declaração de propriedade intelectual ou direito de terceiros; ou (ii) sujeito a termos de licença que buscam exigir que qualquer oferta da Microsoft que incorpore ou derivada de tais Comentários ou de outra propriedade intelectual da Microsoft seja licenciada ou compartilhada com terceiros.
Este passo a passo foi validado em relação aos seguintes sistemas operacionais:
- Windows 8 (x86 e x64)
- Windows 7 Ultimate
- Windows Server 2008 R2 Standard
Depois de concluir as etapas neste passo a passo, você pode usar o ambiente de vários computadores para criar esses tipos de aplicativos:
- Aplicativos da área de trabalho do C++ que usam o SDK do Windows 8
- Aplicativos da área de trabalho do Visual Basic ou C# direcionados ao .NET Framework 4.5
O ambiente de vários computadores não pode ser usado para criar esses tipos de aplicativos:
- Aplicativos UWP. Para criar aplicativos UWP, você deve instalar o Visual Studio no computador de build.
- Aplicativos de área de trabalho direcionados ao .NET Framework 4 ou anterior. Para criar esses tipos de aplicativos, você deve instalar o Visual Studio ou os Assemblies e Ferramentas de Referência do .NET (do SDK do Windows 7.1) no computador de build.
Pré-requisitos
Visual Studio com a carga de trabalho de desenvolvimento de desktop do .NET instalada.
Instalar software nos computadores
Primeiro, configure o computador host e configure o computador de build.
Ao instalar o Visual Studio no computador host, você criará os arquivos e as configurações que copiará para o computador de build posteriormente. Você pode instalar o Visual Studio em um computador x86 ou x64, mas a arquitetura do computador de build deve corresponder à arquitetura do computador host.
No computador host, instale o Visual Studio.
No computador de build, instale o .NET Framework 4.5 ou posterior. Para verificar se ele está instalado, verifique se a entrada de versão na subchave do Registro HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full tem um valor igual a 4.5 ou superior.
Copiar arquivos do computador host para o computador de build
Esta seção aborda a cópia de arquivos específicos, compiladores, ferramentas de build, ativos do MSBuild e configurações de registro do computador host para o computador de build. Estas instruções pressupõem que você instalou o Visual Studio no local padrão no computador host; se você tiver instalado em outro local, ajuste as etapas adequadamente.
- Em um computador x86, o local padrão é C:\Arquivos de Programas\Microsoft Visual Studio
- Em um computador x64, o local padrão é C:\Arquivos de Programas (x86)\Microsoft Visual Studio
Observe que o nome da pasta Arquivos de Programas depende do sistema operacional instalado. Em um computador x86, o nome é Arquivos de Programas; em um computador x64, o nome é Arquivos de Programas (x86). Independentemente da arquitetura do sistema, este passo a passo refere-se à pasta Arquivos de Programas como %ProgramFiles%.
Observação
No computador de build, todos os arquivos relevantes devem estar na mesma unidade. No entanto, a letra da unidade pode ser diferente daquela da unidade onde o Visual Studio está instalado no computador host. De qualquer forma, você deve considerar o local dos arquivos ao criar entradas do Registro, conforme descrito posteriormente neste documento.
Copiar os arquivos do SDK do Windows para o computador de build
Se você tiver apenas o SDK do Windows para Windows 8 instalado, copie essas pastas recursivamente do computador host para o computador de build:
%ProgramFiles%\Windows Kits\8.0\bin\
%ProgramFiles%\Windows Kits\8.0\Catalogs\
%ProgramFiles%\Windows Kits\8.0\DesignTime\
%ProgramFiles%\Windows Kits\8.0\include\
%ProgramFiles%\Windows Kits\8.0\Lib\
%ProgramFiles%\Windows Kits\8.0\Redist\
%ProgramFiles%\Windows Kits\8.0\References\
Se você também tiver esses outros kits do Windows 8...
Kit de Avaliação e Implantação do Microsoft Windows
Microsoft Windows Driver Kit
Kit de Certificação de Hardware do Microsoft Windows
... eles podem ter instalado arquivos nas pastas%ProgramFiles%\Windows Kits\8.0 listadas na etapa anterior e seus termos de licença podem não permitir direitos de build-server para esses arquivos. Verifique os termos de licença de cada kit do Windows instalado para verificar se os arquivos podem ser copiados para o computador de build. Se os termos de licença não permitirem direitos de build-server, remova os arquivos do computador de build.
Copie as seguintes pastas recursivamente do computador host para o computador de build:
%ProgramFiles%\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools\
%ProgramFiles%\Common Files\Merge Modules\
%ProgramFiles%\Microsoft Visual Studio\<version>\<edition>\VC\
%ProgramFiles%\Microsoft Visual Studio\<version>\<edition>\Common7\Tools\ProjectComponents\
%ProgramFiles%\MSBuild\Microsoft.Cpp\v4.0\v110\
%ProgramFiles%\Assemblies de referência\Microsoft\Framework\. NETCore\v4.5\
%ProgramFiles%\Assemblies de referência\Microsoft\Framework\. NETFramework\v4.5\
Copie esses arquivos do computador host para o computador de build:
%ProgramFiles%\Microsoft Visual Studio\<version>\<edition>\Common7\IDE\msobj110.dll
%ProgramFiles%\Microsoft Visual Studio\<version>\<edition>\Common7\IDE\mspdb110.dll
%ProgramFiles%\Microsoft Visual Studio\<version>\<edition>\Common7\IDE\mspdbcore.dll
%ProgramFiles%\Microsoft Visual Studio\<version>\<edition>\Common7\IDE\mspdbsrv.exe
%ProgramFiles%\Microsoft Visual Studio\<version>\<edition>\Common7\IDE\msvcdis110.dll
%ProgramFiles%\Microsoft Visual Studio\<version>\<edition>\Common7\Tools\makehm.exe
%ProgramFiles%\Microsoft Visual Studio\<version>\<edition>\Common7\Tools\VCVarsQueryRegistry.bat
%ProgramFiles%\Microsoft Visual Studio\<version>\<edition>\Common7\Tools\vsvars32.bat
As bibliotecas de runtime do Microsoft Visual C++ a seguir são necessárias somente se você executar saídas de build no computador de build, por exemplo, como parte de testes automatizados. Normalmente, os arquivos estão localizados em subpastas na pasta %ProgramFiles%\Microsoft Visual Studio\<version>\<edition>\VC\redist\x86 ou %ProgramFiles%\Microsoft Visual Studio\<version>\<edition>\VC\redist\x64 , dependendo da arquitetura do sistema. Em sistemas x86, copie os binários x86 para a pasta Windows\System32 . Em sistemas x64, copie os binários x86 para a pasta Windows\SysWOW64 e os binários x64 para a pasta Windows\System32 .
\Microsoft.VC110.ATL\atl110.dll
\Microsoft.VC110.CRT\msvcp110.dll
\Microsoft.VC110.CRT\msvcr110.dll
\Microsoft.VC110.CXXAMP\vcamp110.dll
\Microsoft.VC110.MFC\mfc110.dll
\Microsoft.VC110.MFC\mfc110u.dll
\Microsoft.VC110.MFC\mfcm110.dll
\Microsoft.VC110.MFC\mfcm110u.dll
\Microsoft.VC110.MFCLOC\mfc110chs.dll
\Microsoft.VC110.MFCLOC\mfc110cht.dll
\Microsoft.VC110.MFCLOC\mfc110deu.dll
\Microsoft.VC110.MFCLOC\mfc110enu.dll
\Microsoft.VC110.MFCLOC\mfc110esn.dll
\Microsoft.VC110.MFCLOC\mfc110fra.dll
\Microsoft.VC110.MFCLOC\mfc110ita.dll
\Microsoft.VC110.MFCLOC\mfc110jpn.dll
\Microsoft.VC110.MFCLOC\mfc110kor.dll
\Microsoft.VC110.MFCLOC\mfc110rus.dll
\Microsoft.VC110.OPENMP\vcomp110.dll
Copie apenas os seguintes arquivos da pasta Debug_NonRedist\x86 ou Debug_NonRedist\x64 para o computador de build, conforme descrito em Preparar um computador de teste para executar um executável de depuração. Nenhum outro arquivo pode ser copiado.
\Microsoft.VC110.DebugCRT\msvcp110d.dll
\Microsoft.VC110.DebugCRT\msvcr110d.dll
\Microsoft.VC110.DebugCXXAMP\vcamp110d.dll
\Microsoft.VC110.DebugMFC\mfc110d.dll
\Microsoft.VC110.DebugMFC\mfc110ud.dll
\Microsoft.VC110.DebugMFC\mfcm110d.dll
\Microsoft.VC110.DebugMFC\mfcm110ud.dll
\Microsoft.VC110.DebugOpenMP\vcomp110d.dll
Criar configurações do Registro
Você deve criar entradas do Registro para definir as configurações do MSBuild.
Identifique a pasta pai para entradas do Registro. Todas as entradas do Registro são criadas na mesma chave pai. Em um computador x86, a chave pai é HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft. Em um computador x64, a chave pai é HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft. Independentemente da arquitetura do sistema, este passo a passo refere-se à chave pai como %RegistryRoot%.
Observação
Se a arquitetura do computador anfitrião for diferente da do computador de compilação, use a chave pai apropriada em cada computador. Isso é especialmente importante se você estiver automatizando o processo de exportação.
Além disso, se você estiver usando uma letra de unidade diferente no computador de compilação do que a que está usando no computador host, altere os valores das entradas do Registro para que correspondam.
Crie as seguintes entradas do Registro no computador de build. Todas essas entradas são cadeias de caracteres (Tipo == "REG_SZ" no Registro). Defina os valores dessas entradas da mesma forma que os valores das entradas comparáveis no computador host.
%RegistryRoot%\.NETFramework\v4.0.30319\AssemblyFoldersEx\VCMSBuild Public Assemblies@(Default)
%RegistryRoot%\Microsoft SDKs\Windows\v8.0@InstallationFolder
%RegistryRoot%\Microsoft SDKs\Windows\v8.0A@InstallationFolder
%RegistryRoot%\Microsoft SDKs\Windows\v8.0A\WinSDK-NetFx40Tools@InstallationFolder
%RegistryRoot%\Microsoft SDKs\Windows\v8.0A\WinSDK-NetFx40Tools-x86@InstallationFolder
%RegistryRoot%\VisualStudio\11.0@Source Directories
%RegistryRoot%\VisualStudio\11.0\Setup\VC@ProductDir
%RegistryRoot%\VisualStudio\SxS\VC7@FrameworkDir32
%RegistryRoot%\VisualStudio\SxS\VC7@FrameworkDir64
%RegistryRoot%\VisualStudio\SxS\VC7@FrameworkVer32
%RegistryRoot%\VisualStudio\SxS\VC7@FrameworkVer64
%RegistryRoot%\VisualStudio\SxS\VC7@11.0
%RegistryRoot%\VisualStudio\SxS\VS7@11.0
%RegistryRoot%\Windows Kits\Installed Roots@KitsRoot
%RegistryRoot%\MSBuild\ToolsVersions\4.0\11.0@VCTargetsPath
%RegistryRoot%\MSBuild\ToolsVersions\4.0\11.0@VCTargetsPath10
%RegistryRoot%\MSBuild\ToolsVersions\4.0\11.0@VCTargetsPath11
Em um computador de build x64, crie também a seguinte entrada do Registro e consulte o computador host para determinar como defini-lo.
- %RegistryRoot%\Microsoft SDKs\Windows\v8.0A\WinSDK-NetFx40Tools-x64@InstallationFolder
Se o computador de build for x64 e você quiser usar a versão de 64 bits do MSBuild ou se estiver usando o Team Foundation Server Build Service em um computador x64, crie as seguintes entradas de registro no registro nativo de 64 bits. Consulte o computador host para determinar como definir essas entradas.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\11.0\Setup\VS@ProductDir
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\4.0\11.0@VCTargetsPath
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\4.0\11.0@VCTargetsPath10
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\4.0\11.0@VCTargetsPath11
Definir variáveis de ambiente no computador de build
Para usar o MSBuild no computador de build, você deve definir as variáveis de ambiente PATH. Você pode usar vcvarsall.bat para definir as variáveis ou configurá-las manualmente.
Usar vcvarsall.bat para definir variáveis de ambiente
Abra uma janela do Prompt de Comando no computador de build e execute %Program Files%\Microsoft Visual Studio\<version>\<edition>\VC\vcvarsall.bat. Você pode usar um argumento de linha de comando para especificar o conjunto de ferramentas que deseja usar— x86, x64 nativo ou compilador cruzado x64. Se você não especificar um argumento de linha de comando, o conjunto de ferramentas x86 será usado.
Esta tabela descreve os argumentos com suporte para vcvarsall.bat:
| Argumento do Vcvarsall.bat | Compiler | Criar arquitetura de computador | Arquitetura de saída do build |
|---|---|---|---|
| x86 (padrão) | Nativo de 32 bits | x86, x64 | x86 |
| x86_amd64 | x64 Cross | x86, x64 | x64 |
| amd64 | X64 Nativo | x64 | x64 |
Se vcvarsall.bat for executado com êxito, ou seja, nenhuma mensagem de erro será exibida, você poderá ignorar a próxima etapa e continuar na seção Instalar assemblies do MSBuild no GAC (Cache de Assembly Global) no computador de build deste documento.
Definir variáveis de ambiente manualmente
Para configurar manualmente o ambiente de linha de comando, adicione este caminho à variável de ambiente PATH:
- Arquivos de Programas\Microsoft Visual Studio\<version>\<edition>\Common7\IDE
Opcionalmente, você também pode adicionar os seguintes caminhos à variável PATH para facilitar o uso do MSBuild para criar suas soluções.
Se você quiser usar o MSBuild nativo de 32 bits, adicione estes caminhos à variável PATH:
%Program Files%\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools
%windir%\Microsoft.NET\Framework\v4.0.30319
Se você quiser usar o MSBuild nativo de 64 bits, adicione estes caminhos à variável PATH:
%Arquivos de Programas%\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools\x64
%windir%\Microsoft.NET\Framework64\v4.0.30319
Instalar assemblies do MSBuild no Cache de Assembly Global (GAC) no computador de compilação
O MSBuild requer que alguns assemblies adicionais sejam instalados no GAC no computador de compilação.
Copie os assemblies a seguir do computador anfitrião para o computador de compilação. Como eles serão instalados no GAC, não importa onde você os coloque no computador de build.
%ProgramFiles%\MSBuild\Microsoft.Cpp\v4.0\v110\Microsoft.Build.CPPTasks.Common.v110.dll
%ProgramFiles%\Microsoft Visual Studio\<version>\<edition>\Common7\IDE\CommonExtensions\Microsoft\VC\Project\Microsoft.VisualStudio.Project.VisualC.VCProjectEngine.dll
%ProgramFiles%\Microsoft Visual Studio\<version>\<edition>\Common7\IDE\PublicAssemblies\Microsoft.VisualStudio.VCProjectEngine.dll
Para instalar os assemblies no GAC, localize gacutil.exe no computador de build, normalmente, ele está em %ProgramFiles%\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools\. Se você não conseguir localizar essa pasta, repita as etapas na seção Copiar arquivos do computador host para o computador de build deste passo a passo.
Abra uma janela do Prompt de Comando que tenha direitos administrativos e execute este comando para cada arquivo:
gacutil -i <arquivo>
Observação
Uma reinicialização pode ser necessária para que um assembly seja totalmente instalado no GAC.
Construir projetos
Você pode usar o Azure Pipelines para criar projetos e soluções do Visual Studio ou compilá-los na linha de comando. Quando você usa o Azure Pipelines para criar projetos, ele invoca o executável do MSBuild que corresponde à arquitetura do sistema. Na linha de comando, você pode usar o MSBuild de 32 bits ou o MSBuild de 64 bits e pode escolher a arquitetura do MSBuild definindo a variável de ambiente PATH ou invocando diretamente o executável MSBuild específico da arquitetura.
Para usar msbuild.exe no prompt de comando, execute o comando a seguir, no qual solution.sln é um espaço reservado para o nome da solução.
msbuildsolution.sln
Para obter mais informações sobre como usar o MSBuild na linha de comando, consulte a referência da linha de comando.
Criar o ambiente de build para que ele possa ser verificado no controle do código-fonte
Você pode criar um ambiente de build que possa ser implantado em vários computadores e que não exija incluir arquivos no "GAC" nem modificar as configurações do Registro. As etapas a seguir são apenas uma maneira de fazer isso. Adapte essas etapas às características exclusivas do seu ambiente de build.
Observação
Você deve desabilitar a compilação incremental para que tracker.exe não gere um erro durante uma compilação. Para desabilitar a compilação incremental, defina este parâmetro de build:
msbuildsolution.sln/p:TrackFileAccess=false
Crie um diretório Depot no computador host.
Essas etapas referem-se ao diretório como %Depot%.
Copie os diretórios e arquivos conforme descrito na seção Copiar arquivos do computador host para o computador de compilação deste passo a passo, exceto cole-os no diretório %Depot% que você acabou de criar. Por exemplo, copie de %ProgramFiles%\Windows Kits\8.0\bin para %Depot%\Windows Kits\8.0\bin.
Quando os arquivos são colados em %Depot%, faça estas alterações:
Em %Depot%\MSBuild\Microsoft.Cpp\v4.0\v110\Microsoft.CPP.Targets, \Microsoft.Cpp.InvalidPlatforms.targets\, \Microsoft.cppbuild.targets\e \Microsoft.CppCommon.targets\, altere todas as instâncias de
AssemblyName="Microsoft.Build.CppTasks.Common.v110, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
para
AssemblyFile="$(VCTargetsPath11)Microsoft.Build.CppTasks.Common.v110.dll".
A nomenclatura anterior depende do assembly ser gac'ed.
Em %Depot% \MSBuild\Microsoft.Cpp\v4.0\v110\Microsoft.CPPClean.Targets, altere cada instância de
AssemblyName="Microsoft.Build.CppTasks.Common.v110, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
para
AssemblyFile="$(VCTargetsPath11)Microsoft.Build.CppTasks.Common.v110.dll".
Crie um arquivo .props , por exemplo, Partner.AutoImports.props, e coloque-o na raiz da pasta que contém seus projetos. Esse arquivo é usado para definir variáveis usadas pelo MSBuild para localizar vários recursos. Se as variáveis não forem definidas por esse arquivo, elas serão definidas por outros arquivos .props e arquivos .targets que dependem de valores do Registro. Como não estamos definindo nenhum valor do Registro, essas variáveis estariam vazias e o build falharia. Em vez disso, adicione isso ao Partner.AutoImports.props:
<?xml version="1.0" encoding="utf-8"?> <!-- This file must be imported by all project files at the top of the project file. --> <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <PropertyGroup> <VCTargetsPath>$(DepotRoot)MSBuild\Microsoft.Cpp\v4.0\v110\</VCTargetsPath> <VCTargetsPath11>$(DepotRoot)MSBuild\Microsoft.Cpp\v4.0\v110\</VCTargetsPath11> <MSBuildExtensionsPath>$(DepotRoot)MSBuild</MSBuildExtensionsPath> <MSBuildExtensionsPath32>$(DepotRoot)MSBuild</MSBuildExtensionsPath32> <VCInstallDir_110>$(DepotRoot)Microsoft Visual Studio\2017\Enterprise\VC\</VCInstallDir_110> <VCInstallDir>$(VCInstallDir_110)</VCInstallDir> <WindowsKitRoot>$(DepotRoot)Windows Kits\</WindowsKitRoot> <WindowsSDK80Path>$(WindowsKitRoot)</WindowsSDK80Path> <WindowsSdkDir_80>$(WindowsKitRoot)8.0\</WindowsSdkDir_80> <WindowsSdkDir>$(WindowsSDKDir_80)</WindowsSdkDir> <WindowsSdkDir_80A>$(DepotRoot)Microsoft SDKs\Windows\v8.0A\</WindowsSdkDir_80A> </PropertyGroup> </Project>Em cada um dos arquivos do projeto, adicione a seguinte linha na parte superior, após a
<Project Default Targets...>linha.<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), Partner.AutoImports.props))\Partner.AutoImports.props"/>Altere o ambiente de linha de comando da seguinte maneira:
Definir Depot=localização do diretório Depot que você criou na etapa 1
Definir path=%path%; local do MSBuild no computador;%Depot%\Windows\System32;%Depot%\Windows\SysWOW64;%Depot%\Microsoft Visual Studio 16.0\Common7\IDE\
Para compilação nativa de 64 bits, aponte para a versão de 64 bits do MSBuild.