Estou configurando o suporte ao .NET 4.0 em nosso servidor de IC. Instalei o .NET 4.0 e as ferramentas .NET do Windows 7.1 SDK.
No .NET 2.0 e 3.5, isso apenas funcionou. Com o .NET 4, quando executo o "Prompt de Comando do Windows SDK 7.1" no menu Iniciar, ele reclama sobre
The x86 compilers are not currently installed. x86-x86
Please go to Add/Remove Programs to update your installation.
.
Setting SDK environment relative to C:\Program Files\Microsoft
SDKs\Windows\v7.1
\.
Targeting Windows Server 2008 x86 Debug
Então, quando tento executar o msbuild, recebo:
C:\Program Files\Microsoft SDKs\Windows\v7.1>msbuild
'msbuild' is not recognized as an internal or external command,
operable program or batch file.
C:\Program Files\Microsoft SDKs\Windows\v7.1>
Não acredito que a instalação do tempo de execução e do SDK deixará você com um sistema que não pode executar o msbuild ... perdi uma etapa óbvia ou obscuro o Windows Update, ou é hora de desistir e começar a invadir o caminho do sistema ?
%VCTools%
variável de ambiente definida para? Deve ser definido como um caminho. Existecl.exe
nesse caminho? Além disso, você está em um Windows que não seja o inglês? Ouvi alguns relatos desse problema na instalação localizada do Windows.Respostas:
Para ativar
msbuild
no prompt de comando , basta adicionar o caminho para a instalação do .NET 4 Framework em sua máquina naPATH
variável de ambiente.Você pode acessar as variáveis de ambiente:
PATH
Para referência, meu caminho foi
C:\Windows\Microsoft.NET\Framework\v4.0.30319
Atualização de caminho de 21/3/18:
A partir do MSBuild 12 (2013) / VS 2013 / .NET 4.5.1 ou superior, o MSBuild agora está instalado como parte do Visual Studio .
Para referência, com o VS2015 instalado minha máquina, meu caminho é
C:\Program Files (x86)\MSBuild\14.0\Bin
fonte
C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin
. Consulte docs.microsoft.com/en-us/visualstudio/msbuild/…A
Visual Studio 2013
partir de então,MSbuild
vem como parte do Visual Studio. Anteriormente, o MSBuild foi instalado como parte do. NET Framework.O MSBuild é instalado diretamente em % ProgramFiles% . Portanto, o caminho para o MSBuild pode ser diferente dependendo da versão do Visual Studio.
Pois
Visual Studio 2015
, Path ofMSBuild
is"%ProgramFiles(x86)%\MSBuild\14.0\Bin\MSBuild.exe"
Pois
Visual Studio 15 Preview
, Path ofMSBuild
is"%ProgramFiles(x86)%\MSBuild\15.0\Bin\MSBuild.exe"
Além disso, algumas novas propriedades do MSBuild foram adicionadas e outras foram modificadas. Para mais informações veja aqui
Atualização 1: VS 2017
O local do MSBuild mudou novamente com o lançamento do Visual Studio 2017 . Agora o diretório de instalação está sob o
%ProgramFiles(x86)%\Microsoft Visual Studio\2017\[VS Edition]\MSBuild\15.0\Bin\
. Como tenho uma edição Enterprise, o local do MSBuild para minha máquina é"%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\MSbuild.exe"
fonte
O uso do "Prompt de Comando do Desenvolvedor para Visual Studio 20XX" em vez de "cmd" definirá o caminho para o msbuild automaticamente, sem a necessidade de adicioná-lo às suas variáveis de ambiente.
fonte
Seu arquivo bat pode ser como:
fonte
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\msbuild *.*proj
pode ser feito, embora observe que o caminho para as versões mais recentes do MSBuild (por volta de 2013) é diferente.Para o Visual Studio 2019 (versão prévia, pelo menos), agora está em:
Eu imagino que o processo será semelhante ao lançamento oficial de 2019.
fonte
C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\Current\Bin\MsBuild.exe
.Para poder construir com a sintaxe C # 6, use isso no caminho:
fonte
O
SetEnv.cmd
script que o atalho "prompt de comando do SDK" executa verificacl.exe
em vários locais antes de configurar as entradas a serem adicionadasPATH
. Portanto, ele não adiciona nada se um compilador C nativo não estiver instalado.Para corrigir isso, aplique o seguinte patch em
<SDK install dir>\Bin\SetEnv.cmd
. Isso também corrigirá os caminhos ausentes para outras ferramentas localizadas em<SDK install dir>\Bin
e subpastas. Obviamente, você pode instalar o compilador C para solucionar esse bug.fonte