Arquivo

Archive for Abril, 2011

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

Correção da barra de rolagem em menus no VS2010

Já perceberam que quando você clica com o botão direito em cima de um item do Solution Explorer aparece um botão de expansão/rolagem mesmo quando todos os item do menu caberiam na tela? Este problema causa certa perda de produtividade porque o item que você quer sempre estará “escondido”.

Este fix corrige este problema.

Link do KB para maiores informações: http://support.microsoft.com/kb/2345133

Download do fix: http://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=31857

Basta baixar e instalar.

Até a próxima, e espero que o post tenha sido útil.

Categorias:Visual Studio

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

Correção de memória insuficiente no VS2010

H​á algum tempo estava enfrentando um problema de falta de memória no VS2010 na hora de copiar e/ou recortar alguma informação. Bastava teclar ctrl+c que o Visual Studio apresentava a mensagem “insufficient memory”.

Achava que este problema tinha haver com a memória disponível, porém o erro estava no próprio Visual Studio. Então a Microsoft liberou um fix para resolver este problema. Este fix está disponível para download no link: http://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=29729

Basta baixar e instalar. Até a próxima, e espero que o post tenha sido útil.

Categorias:Visual Studio
%d bloggers like this: