Compilando um .vbproj ou .csproj projeto sem Visual Studio
-
06-07-2019 - |
Pergunta
Existe uma maneira para compilar uma .vbproj ou .csproj projeto diretamente, como Visual Studio faz?
Quando você compilar no Visual Studio, o "output" mostra a janela a chamada real para o compilador, que normalmente se parece com:
vbc.exe [monte de opções] [looooong lista de arquivos .vb]
Gostaria de chamar programaticamente "algo" que levaria o arquivo .vbproj e fazer o Visual Studio faz para gerar esta linha de comando longa. Eu sei que eu pôde analisar o .vbproj mim e gerar essa linha de comando, mas eu prefiro me salvar toda a engenharia reversa e de tentativa e erro ...
Existe uma ferramenta para fazer isso? Eu prefiro ser capaz de fazê-lo em uma máquina sem ter Visual Studio instalado. No entanto, se há uma maneira de chamar Visual Studio com alguns parâmetros para fazê-lo, então isso vai ficar bem também.
Eu olhei rapidamente para MSBuild, e parece que ele funciona a partir de um arquivo de projeto proj que eu teria que fazer, especialmente, e que eu preciso atualizar cada vez que eu adicionar um arquivo para o arquivo .vbproj. (Eu fiz olhar brevemente para ele, por isso é muito provável que eu perdi alguma coisa importante)
Qualquer ajuda será muito apreciada
Solução
MSBuild é a maneira mais fácil de ir. Por exemplo:
msbuild /property:Configuration=Release MyFile.vbproj
Outras dicas
MSBuild também pode ter o seu arquivo de solução e usá-lo para fazer a compilação.
Você pode usar MSBUILD ou CSC. MSBuild, que, como você mencionou, usa seus arquivos de projeto e solução. CSC irá compilar arquivos específicos ou todos os arquivos em uma árvore de diretórios específica.
Você também deve olhar para automatizar o seu constrói com NAnt e / ou CruiseControl.net.
Além disso, aqui está um exemplo sobre como compilar o código sem visual studio usando CSC. http://blog.slickedit.com/?p=163
Só para você saber .vbproj e csproj arquivos são MSBuild. Então, tudo o que você leu, você pode aplicar a esses arquivos diretamente.
Sayed Ibrahim Hashimi
My Book: Dentro do Microsoft Build Motor: Usando MSBuild e Team Foundation Build
Na pasta de solução projeto:
msbuild wpfapp1.sln /p:BuildProjectReferences=true
MSbuild é geralmente localizado em:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319
(ou algo similar, dependendo da versão)
arquivos compila CSC.exe, msbuild projetos e soluções compila
No topo de um arquivo .vbproj é um. Adicione esta linha para o grupo de propriedades para suprimir o tempo de execução VB:
<NoVBRuntimeReference>On</NoVBRuntimeReference>
MSBuild faz o resto. Não há necessidade de usar a linha de comando se você tem o IDE.