Arquivo

Archive for the ‘MsBuild’ Category

MsBuild – Target

Para a boa compreensão deste artigo, sugiro ler o meu outro artigo chamado “Iniciando com MSBuild”.

Target serve para indicar qual compilação deverá ser executada, isto é, toda informação que estiver dentro de uma determinada Target será executada e tudo que estiver em outras Targets não serão executadas.

Fica mais fácil fazendo o exemplo abaixo.

<?xml version="1.0" encoding="utf-8" ?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" >
<Target Name="Target1">
<Message Text="Olá Mundo" />
</Target>
<Target Name="Target2">
<Message Text="Tchau Mundo" />
</Target>
</Project>

No exemplo acima estou criando duas Targets, uma com o nome de Target1 e outra com o nome de Target2. Na hora da compilação o MSBuild irá verificar qual Target foi passada por parâmetro e executar apenas as instruções que estão na Target escolhida.

Digite no prompt do Visual Studio o seguinte comando.

msbuild meuprojeto.proj /t:Target1

Substitua o meuprojeto.proj pelo nome do arquivo xml que você criou.

Após executar este comando você verá a mensagem “Olá Mundo”, isto quer dizer que o msbuild executou apenas as instruções que estão dentro da Target determinada no parâmetro “/t:”.

Se você trocar para Target2 o parâmetro, você verá a mensagem “Tchau Mundo”.

Você também pode definir um Default Target para que não seja necessária a passagem de parâmetro. Para fazer isto basta incluir uma propriedade DefaultTargets com o nome da Target padrão na tag Project. Veja abaixo como fazer.

<?xml version="1.0" encoding="utf-8" ?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Target2" >
<Target Name="Target1">
<Message Text="Olá Mundo" />
</Target>
<Target Name="Target2">
<Message Text="Tchau Mundo" />
</Target>
</Project>

Agora você pode digitar o comando do msbuild sem passar por parâmetro a Target.

msbuild meuprojeto.proj

Se tudo der certo, você verá a mensagem “Tchau Mundo”, pois o MsBuild entendeu que você queria utilizar o Target Default.

No próximo artigo irei explicar mais algumas coisas sobre MsBuild. Espero que o post tenha sido útil.

Categorias:MsBuild

Iniciando com MSBuild

O MSBuild é a plataforma de compilação da Microsoft. Muito útil para realizar algumas automações de build e deploy.

Para verificar como são as instruções que o MSBuild interpreta, basta abrir qualquer projeto no Visual Studio, clicar com a direita em cima do projeto e escolher “Unload Project”. Depois clique com o botão direito novamente e selecione “Edit+Nome do Projeto”. Aparecerá um xml contendo uma série de instruções que o MSBuild utiliza para compilar o projeto.

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
 <PropertyGroup>
 <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
 <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
 <ProductVersion>9.0.30729</ProductVersion>
 </PropertyGroup>

Para começar a experimentar o MSBuild crie um arquivo com qualquer nome e extensão, eu sugiro utilizar o nome MeuBuild.prjbuild. Como é um arquivo xml sempre deve começar o enconding e o namespace.

<?xml version="1.0" encoding="utf-8" ?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
</Project>

Caso você edite este xml no Visual Studio, após a digitação do namespace você terá o IntelliSense habilitado.
E nada como um “Olá Mundo!” para testar uma aplicação. Insira as linhas abaixo entre as tags Project.

<Target Name="TipoBuild1">
 <Message Text="Olá Mundo" />
</Target>

Quando você pede para o MSBuild compilar o projeto, você deve passar por parâmetro o nome do Target que deverá ser executado, assim o MSBuild executará todas as instruções dentro do Target correspondente. Já a tag Message serve para apresentar um texto no output da compilação que, no nosso caso, será “Olá Mundo”.
Agora para verificar se o seu projeto de build está funcionando, vamos testar direto no MSBuild. Abra o prompt do Visual Studio e digite:

msbuild MeuBuild.prjbuild /t:TipoBuild1

Se aparecer a mensagem “Build succeeded”, quer dizer que a compilação foi feita e você pode verificar que a mensagem “Olá Mundo” foi impressa na tela. Você pode perceber que o parâmetro /t: significa que será executado o target correspondente ao parâmetro.
E é isso ai! A proposta deste artigo é apenas iniciar vocês sobre como fazer seus primeiros projetos com o MsBuild.
Espero que o post tenha sido útil e até a próxima.

Categorias:MsBuild
%d bloggers like this: