Alterando a ordem do build manualmente no Visual Studio 2010

5 F Y

O Visual Studio organiza automaticamente, baseando-se nas dependências de cada projeto, a ordem de build dos projetos em uma solução. Desta forma, se o projeto B usa algo do projeto A, o projeto A será “buildado” primeiro, para quando for a vez do projeto B, suas dependências estejam compiladas e este consiga passar com sucesso pelo build.

Em algumas (raras) situações, no entanto, esse ordenamento automático pode não funcionar da maneira esperada. Ele só é configurado com base nas dependências que estão explicitamente definidas no projeto, o que na maioria das vezes será suficiente para inferir a ordem correta. Existem casos, como em alguns projetos de teste ou alguns outros tipos, em que um projeto precisa que outro já esteja buildado, mesmo que não tenha dependência de código diretamente.

Ainda nestas poucas situações, geralmente estes projetos não sofrem alterações constantemente, então, o mais recomendado é desativar o build automático e efetuar o build manualmente apenas quando houver alguma alteração nestes projetos. Desativar o build automático é simples:

Abra o Configuration Manager, e desmarque os projetos que você não deseja que sejam buildados automaticamente. Para efetuar o build manual em cada projeto depois, é só clicar com o botão direito no projeto na Solution Explorer e mandar Buildar.

Se este projeto que está fora de ordem no build tem o código alterado várias vezes, ou se ele depende de algum outro projeto para ser buildado, inviabilizando o build manual, ou se você realmente não quer dar build manual, você pode alterar manualmente a Build Order no Visual Studio.

Para alterar a ordem de build dos projetos, basta clicar com o botão direito na solução no Solution Explorer, e selecionar “Project Build Order” ou em “Project Dependencies”

Na tela que será mostrada, clique na aba “Dependencies” inclua as dependências necessárias entre os projetos, para que a ordem que você verá na aba “Build Order” seja a que você precisa. Confirme as mudanças, e a ordem de build de sua solução estará alterada.


Proativa promove curso de Mentoria em Imagine Cup

3 F Y

A Proativa Soluções em Tecnologia, em parceria com o CITi (Centro Integrado de Tecnologia da Informação), irá oferecer durante a jornada de cursos deste início de semestre um curso de Mentoria em Imagine Cup, onde serão apresentadas dicas, técnicas de construção de projeto e de apresentação importantes para a mais importante competição de tecnologia para estudantes, na qual os sócios da Proativa já obtiveram diversos resultados positivos.

Além deste curso, a Proativa também está em parceria com o CITi nos cursos de C# Básico/ASP.NET e Gerenciamento de Projetos com Scrum.

Links:

Mais informações sobre o curso de Mentoria para Imagine Cup

Jornada de cursos do CITi

Inscrições


Consumindo WebService (WCF ou ASMX) em uma aplicação Silverlight

7 F Y

Trabalhando no projeto da Imagine Cup, tivemos a necessidade de criar um Web Service e consumi-lo dentro de uma aplicação Silverlight. Primeiro desenvolvi o Web Service, testando com uma aplicação ASP.Net, e tudo funcionou OK. Quando repassei o projeto para Edgar integrar com a aplicação em Silverlight, não funcionou.

O erro que era levantado era uma “SecurityException”, e a descrição dizia que faltava uma configuração de cross-domain no serviço. Começamos a investigar e encontramos várias soluções na web, mas nenhuma das primeiras tentativas funcionou. Poupando o blablablá, conseguimos resolver com a seguinte solução, encontrada (pra variar…) no Stack Overflow:

  • Crie um arquivo chamado “crossdomain.xml” na raiz do projeto do Web Service
  • Coloque o seguinte conteúdo no arquivo recém-criado:
<?xml version="1.0"?>
<cross-domain-policy>
  <allow-access-from domain="*" />
  <allow-http-request-headers-from domain="*" headers="SOAPAction" />
</cross-domain-policy>

Pronto, foi só colocar este arquivo no Web Service que o projeto Silverlight conseguiu se conectar e consumir os serviços sem problemas.


Grana Forte – Gerenciamento Financeiro

6 F Y

Recentemente, tive a necessidade de fazer um certo controle financeiro de algumas atividades com um grupo de pessoas. Inicialmente, estava usando uma planilha no Excel mesmo, no entanto, ela começou a se mostrar pouco eficiente para o meu cenário, então, fui procurar alguma outra ferramenta que pudesse me auxiliar nesta atividade.

A primeira que encontrei foi o Organizze. É uma ferramenta grátis que roda online, tem uma versão que pode ser acessada em dispositivos móveis (iPhone e iPod Touch inclusos) e atende bem necessidades simples. Infelizmente, ela não atende minha maior necessidade, que é o gerenciamento de múltiplas fontes financeiras.

Para explicar melhor meu cenário: Temos 4 pessoas e uma conta bancária. É necessário saber quanto dinheiro cada pessoa tem que “não é dela”, e sim do grupo. Desta forma, na prática, cada pessoa pode ser tratada como uma conta bancária, e as despesas do grupo pagas por cada pessoa devem ser debitadas do quanto elas possuem de dinheiro do grupo, assim como o dinheiro do grupo que é repassado para a pessoa deve ser creditado em sua “conta”. Esta é uma situação suficientemente comum, e posso citar como exemplos: Comissões de formatura, empresas start-up, grupos de amigos organizando festas, entre vários outros exemplos.

O melhor programa que encontrei para atender esta minha necessidade foi o Grana Forte. Com ele, é possível fazer exatamente o gerenciamento que eu precisei para a minha situação, controlando diversas contas, podendo fazer transferências entre elas e o controle em geral.

Exemplo da Tela Principal do Grana Forte

Além de conseguir gerenciar bem as múltiplas fontes, a geração de gráficos dele é muito útil. É possível personalizar bem a geração dos gráficos de acordo com a sua necessidade. O resultado pode ser muito útil na hora de identificar onde você está gastando muito, e se possível, começar a dar um aperto naquela despesa.

Exemplo de gráfico gerado pelo Grana Forte

Uma das maiores vantagens deste software é sua simplicidade. Tudo é muito fácil de fazer, a interface é bem enxuta, sem muita firula. As principais atividades são alcançáveis através de um clique, os botões são bem identificáveis, tornando o tempo que levo para fazer o registro das movimentações no mínimo possível. Outras ferramentas que cheguei a testar, no entanto, que eram um terror: Usavam imagens no plano de fundo, deixavam uns 30 botões pequenos com ícones que não deixavam claro o que aquele botão faria quando fosse clicado e ainda exibiam informações completamente desnecessárias (pra mim, mostrar uma piada quando o programa abre é desnecessário…).

A unica característica que sinto falta no Grana Forte é um controle de contas à pagar, ou pelo menos um “lançamento programado de  transações”. Algumas coisas eu sei que vou ter que lançar, como por exemplo, uma compra parcelada… Inserir todas as parcelas como transação com a data no futuro vai interferir nos valores que eu vejo atualmente. Como isso não é uma necessidade crítica para mim, o Grana Forte é minha melhor opção… mas se existisse essa funcionalidade, pra mim seria ótimo!

O Grana Forte tem uma versão trial de 30 dias. Depois, para continuar usando, é necessário comprar a licença, no valor de R$ 39,00.


Programa para desabilitar o TouchPad enquanto se digita

5 F Y

Não tem coisa pior do que estar digitando um texto em um notebook e, “do nada”, o cursor vai para um lugar totalmente inesperado. Se você está digitando olhando para a tela, é só clicar no lugar onde o cursor deveria estar e continuar trabalhando. Se você fica pescando as teclas e não olha com frequência para o resultado que está saindo no monitor, pode ter uma má surpresa ao ver as linhas todas misturadas.

O problema geralmente é causado por cliques acidentais através do touchpad. Particularmente, eu não sentia esse problema com o touch do netbook, que era bem pé-duro e pequeno. Em meu notebook novo no entanto, isso acontece com frequência, tanto pelo tamanho avantajado do touchpad como pela sua maior sensibilidade, ambas boas características para o touchpad, mas que trazem estes efeitos colaterais. Pior ainda é que muitas vezes eu não estou simplesmente escrevendo texto, e sim programando, e neste caso, os erros induzidos pelos cliques acidentais podem se tornar longas horas de debug (não aconteceu comigo, mas é algo muito plausível).

Uma solução seria diminuir a sensibilidade, mas nem todos (eu incluso nesse grupo) querem abrir mão do touchpad mais sensível. Outra, mais inaceitavel ainda pra mim, é desabilitar o clique através do touch, permitindo apenas os cliques nos botões físicos. Ficar habilitando e desabilitando manualmente, além de ser “incômodo”, pra não dizer outra coisa, nem sempre é possível, como no meu caso, em que o notebook não veio com um atalho para fazer isso no próprio teclado. Pra quem não aceita nenhuma destas opções, o TouchFreeze pode ser uma boa solução.

Este programinha simples, de menos de 300kB, desabilita os cliques enquanto você está digitando, evitando aquela “bagaceira” de texto se misturando por causa dos cliques acidentais. Ele é bem rápido também em reabilitar os cliques quando você para de digitar, e não dá para sentir diferença nenhuma, a não ser talvez em jogos em que você precisa usar o teclado e clicar ao mesmo tempo. Totalmente recomendado!

[via Download Squad]


Resolvendo problemas da SiS Mirage 3 com o Visual Studio 2010 (e outras aplicações que usam WPF)

2 F Y

Um dos prêmios que ganhei com a vitória na fase nacional da Imagine Cup deste ano foi um notebook Elcoma Wizz, que apesar de ser uma boa máquina para o dia-a-dia (Core 2 Duo T6400, 320GB de HD e 4GB de RAM, mas Windows 7 de 32bits…), vem com o chipset de vídeo SiS Mirage 3.

Esse chipset é focado para máquinas de baixo custo, e é muito, MUITO fraco. Hoje, primeira vez que fui tentar trabalhar com a máquina nova no Visual Studio 2010, assim que ele abriu, as letras no código todas distorcidas, com quadradinhos coloridos, geralmente amarelos, no meio delas, parenteses que pareciam chaves, chaves que pareciam colchetes, todo tipo de problema de renderização que se possa imaginar. Flávio, que estava junto no momento, disse que a máquina dele, um Positivo que usa a mesma SiS Mirage 3, tem o mesmo problema com o Visual Studio 2010.

Um pouco de pesquisa e descobri que, mesmo com os drivers mais atualizados (o que era meu caso), essa “placa” não trabalha bem com WPF (lembrando que a interface do VS2010 utiliza WPF). A solução é desabilitar a aceleração de hardware… O problema é que, tanto no Windows 7 como no Vista, isso não é trivial.

UPDATE: O novo Windows Live Messenger 2011, popularmente conhecido no Brasil como MSN 11, também tem a interface baseada em WPF. A correção abaixo também irá corrigir os problemas de exibição deste programa.

O caminho é o seguinte:

  • Abra o registro do windows (Iniciar -> Executar -> Regedit)
  • Navegue até a seguinte chave: HKEY_CURRENT_USER\SOFTWARE\Microsoft
  • Verifique se existe a chave Avalon.Graphics
  • Se ela não estiver aparecendo, tente criar uma nova chave com este nome. Ao confirmar, talvez ele reclame que já existe uma chave com este nome. Não ligue pra isso, e procure a chave Avalon.Graphics, que vai estar na lista agora.
  • Adicione um novo valor DWORD, com o nome DisableHWAcceleration, e o valor 1.
  • Reinicie o Windows
Como seu registro deve ficar após as alterações
Como seu registro deve ficar após as alterações

Daí, na próxima vez que você abrir o Visual Studio (ou o MSN / Windows Live Messenger 2011), vai ver que ele está renderizando corretamente o texto e toda a interface. Isso também vai fazer com que qualquer outra aplicação WPF funcione corretamente nesta placa. Nesta minha máquina, isso não causou problemas de performance, mesmo este procedimento desabilitando a aceleração de vídeo por Hardware em aplicações WPF.

UPDATE: Em algumas máquinas com Windows 7, a mudança no registro descrita acima resolve para o Visual Studio, mas para o MSN é necessário atualizar o driver da placa de vídeo para a versão mais nova… O problema é encontrar esse driver, pois o site da SiS vive quebrado ou fora do ar.

UPDATE 2: O link a seguir tem um driver que, segundo relatos, funciona para a solução acima inclusive para monitores externos, sem deixar a imagem piscando ou com flickering: ftp://ftp.clevo.com.tw/M7xxS/VGA/VGA_W7.zip.

PS: Cuidado ao alterar o Registro do Windows. Não me responsabilizo por qualquer dano causado durante a tentativa de realizar esta alteração. Faça por sua conta e risco!

Fonte: http://msdn.microsoft.com/en-us/library/aa970912.aspx


Como usar o Google Webmaster Tools no seu blog WordPress.com

20 F Y

Essa é pra quem hospeda blog aqui no WordPress.com e quer usar ferramentas como o Google Webmaster Tools, o Yahoo! Site Explorer ou o Bing Webmaster Center.

Todos estes serviços necessitam verificar que você realmente tem controle sobre o endereço para o qual você quer ver os dados. Para isso, eles geralmente oferecem várias opções, como colocar uma tag META no cabeçalho das páginas, enviar um arquivo .html específico para o servidor ou mesmo fazer alterações na configuração de DNS do domínio.

Quem tem blog hospedado no WordPress.com, “sabe” que nenhuma destas alternativas é viável. Algum tempo atrás, existia uma “maneira alternativa” (aka gambiarra) de usar o método de enviar o arquivo html. Felizmente, o pessoal da Automattic (os criadores do WordPress e mantenedores do WordPress.com) criou uma solução pronta, sem gambiarras, para permitir o uso das ferramentas para webmasters em blogs do WordPress.com.

Clique para ver o local exato onde você deve clicar para configurar seu blog para usar o Google Webmaster Tools, o Yahoo! Site Explorer ou o Bing Webmaster Center.

É uma questão simples de configuração. Basta, no seu Painel (Dashboard), clicar em Ferramentas. Daí, no fim da página, vão estar os campos para você colocar o conteúdo da tag META fornecida pela ferramenta de sua preferência (no meu caso, o Google Webmaster Tools). Mande “Guardar Alterações”, e já pode mandar verificar seu site na sua ferramenta escolhida.