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.


Introdução ao C# e ao Visual Studio 2005

12 F Y

Opa pessoal, Acabei de escrever um post para o blog da célula acadêmica CIN.NET, da qual sou membro comprometido, sobre a aula de Introdução ao C# e ao Visual Studio 2005 que dei na última quinta feira. Quem quiser, dá uma olhada: http://cindotnet.wordpress.com/2008/04/12/introducao-ao-c-e-ao-visual-studio-2005/

Célula Acadêmica CIn.NET


VisualSVN – O “subclipse” do Visual Studio

19 F Y

Depois de um looongo tempo sem postar nada aqui, acordei hoje com vontade de escrever. Pra ser sincero, ia falar sobre o MyGeneration, programinha legal, que parece ser muito útil para gerar código e que talvez eu use para um projeto com NHibernate, nem que seja só para os mapeamentos… ninguém merece escrever aquilo na mão… No decorrer do dia, devido a necessidade de usarmos um servidor de controle de versão que inicialmente seria baseado em CVS mas devido a problemas de configuração mudamos para subversion, demos de cara com o VisualSVN Server, um servidor “plug-and-play” para subversion (extremamente fácil de usar… em 2 minutos você tem o servidor rodando e o povo já podendo usar o repositório), e seu projeto irmão VisualSVN “cliente” e senti que havia mais necesidade em falar sobre ele agora, o MyGeneration fica para outro momento, depois que eu tiver usado um pouco mais 🙂

Vamos ao VisualSVN. Ele é um plugin de subversion para o Visual Studio, que automatiza certas tarefas, baseando as ações no seu projeto. Se você adicionar um item à sua solução, seja ele novo ou já existente, ele será adicionado ao controle de versão. Você vai poder realizar commits e updates diretamente no Visual Studio, sem precisar ir na pasta onde está seu projeto e fazer estas atividades usando o TortoiseSVN (ou para os mais masoquistas, fazer via linha de comando 🙂 ). Outra característica interessante é o uso “traffic lights“, semáforos, ou bolinhas coloridas do lado do nome do arquivo na Solution Explorer, como preferir… elas indicam se o arquivo está sem mudanças (em verde), com mudanças (amarelo) ou com erros/conflitos (vermelho).

Por baixo dos panos, o VisualSVN usa o TortoiseSVN, que deve estar instalado na máquina, para realizar suas tarefas. Ele serve como uma ponte entre o velho e conhecido programa de quem usa SVN no Windows e o Visual Studio, e de acordo com os desenvolvedores (http://www.visualsvn.com) através dele você pode executar qualquer comando de subversion. Quem já está acostumado a usar o subclipse, o “primo” deste plugin para Eclipse, não vai sentir muita diferença além do visual. Quem nunca usou subclipse e afins pode sentir um pouco de dificuldade no começo com o Repository Explorer e outros itens que não existem nos clientes não integrados à IDEs, mas a partir do primeiro checkout dado dentro da IDE com sucesso você vai esquecer que já teve que ficar “Alt-Tab” usa o Tortoise “Alt-Tab” volta pro VS “Alt-Tab” vai resolver conflito “Alt-Tab” volta pro VS pra ver se tá tudo certo “Alt-Tab” volta pro Windows Explorer pra comitar de novo…

Pois é, tudo tem um preço… e no caso de VisualSVN, é um preço de verdade, 49 dólares per working seat, com um esquema de descontos para compra em volume. Participantes ativos em projetos open-source não comerciais que já possuem um repositório subversion público podem pedir uma licença gratuita (http://www.visualsvn.com/request-license.html), mas o pessoal parece verificar realmente qual seu nível de atividade no projeto. Para todos os outros, resta usar o trial de 30 dias, disponível para download na página do produto. Existem alternativas gratuitas ao VisualSVN, como o AnkhSVN, que eu pretendo testar e depois comentar como foi minha experiência… Quem quiser dar uma conferida no Ankh, dá uma olhada nos meus links do del.icio.us que o link está lá. Só pra avisar, o VisualSVN Server é totalmente grátis, e pode ser usado em qualquer tipo de projeto, por quanto tempo quiser, e vai ser em breve alvo de algum post meu também.

Não vou escrever nenhum tutorial sobre o VisualSVN, pois o site do desenvolvedor trás muita informação, e quase qualquer dúvida sobre o uso deste plugin se resume a uma dúvida de como usar o TortoiseSVN… mas qualquer coisa, deixa um comentário aí em baixo que quando eu puder eu tento responder.