Eu conheço duas maneiras de fazer isso.
Método 1
O primeiro método (que eu prefiro) é usar msbuild :
msbuild project.sln /Flags...
Método 2
Você também pode executar:
vcexpress project.sln /build /Flags...
A opção vcexpress retorna imediatamente e não imprime nenhuma saída. Suponho que seja isso que você deseja para um roteiro.
Observe que o DevEnv não é distribuído com o Visual Studio Express 2008 (passei muito tempo tentando descobrir isso quando tive um problema semelhante pela primeira vez).
Portanto, o resultado final pode ser:
os.system("msbuild project.sln /p:Configuration=Debug")
Você também vai querer ter certeza de que suas variáveis de ambiente estão corretas, já que msbuild e vcexpress não estão por padrão no caminho do sistema. Inicie o ambiente de compilação do Visual Studio e execute seu script a partir daí ou modifique os caminhos em Python (com os.putenv ).
O MSBuild geralmente funciona, mas já tive dificuldades antes. Você pode ter melhor sorte com
fonte
devenv YourSolution.sln /Build Debug
devenv YourSolution.sln /rebuild
devenv YourSolution.sln /rebuild release
oudevenv YourSolution.sln /rebuild debug
Para ser honesto, tenho que adicionar meus 2 centavos.
Você pode fazer isso com msbuild.exe . Existem muitas versões do msbuild.exe .
Use a versão que você precisa. Basicamente, você deve usar o último.
Então, como fazê-lo.
Execute a janela COMMAND
Insira o caminho para msbuild.exe
Adicione todos os sinalizadores necessários após o caminho da solução.
Pressione ENTER
Observe que você pode obter ajuda sobre todos os sinalizadores possíveis, como
fonte
Usar
msbuild
conforme apontado por outros funcionou para mim, mas eu precisava fazer um pouco mais do que apenas isso. Primeiro de tudo,msbuild
precisa ter acesso ao compilador. Isso pode ser feito executando:Então
msbuild
não estava em meu $ PATH, então tive que executá-lo por meio de seu caminho explícito:Por fim, meu projeto estava fazendo uso de algumas variáveis como
$(VisualStudioDir)
. Parece que eles não são configurados por,msbuild
então tive que configurá-los manualmente através da/property
opção:Essa linha finalmente me permitiu compilar meu projeto.
Bônus : parece que as ferramentas de linha de comando não exigem registro após 30 dias de uso, como faz a edição "gratuita" da Comunidade do Visual Studio baseada em GUI. Com o requisito de registro da Microsoft em vigor, essa versão dificilmente é gratuita. Grátis no Facebook, se houver alguma coisa ...
fonte
MSBuild é seu amigo.
fonte
DEVENV funciona bem em muitos casos, mas em um WIXPROJ para construir meu instalador WIX, tudo o que obtive é o erro "CATASTROPHIC" no log de saída.
Isso funciona: MSBUILD /Path/PROJECT.WIXPROJ / t: Build / p: Configuration = Release
fonte