Arquivo

Arquivo da Categoria ‘visual Studio’

Compartilhando dlls entre várias aplicações usando o GAC

20, agosto, 2010

 

Reusar código é uma boa idéia, então provavelmente seria uma boa idéia reaproveitar códigos em uma dll que forneça serviços por exemplo.Normalmente nós desenvolvedores reusamos uma dll construida com funções básicas. Desde .net 1.1 é possível compartilhar dlls entre aplicações usando o global cache assembly. Este espaço existe em qualquer maquina com o framework instalado, para começar a usar é necessário que o assembly a ser registrado possua um “Nome forte” que entre outras coisas é responsável por identificar de maneira única o assembly.

 

Criando um nome forte para o assembly

SigningAssembly

 

Após a configuração veja que foi gerado um arquivo com extensão .snk

Adicionar assembly na aba referêncy do Visual Studio

Após esta configuração temos um assembly com o nome forte, agora falta registrar o mesmo no GAC.Antes de registrar vamos mover o assembly para a pasta:

%Program Files%\Microsoft Visual Studio 9.0\Common7\IDE\PublicAssemblies

Com o assembly nesta pasta o visual studio reconhece nossa dll como uma dll do .NET, assim fica mais facil adicionar referências.

 

Registrando o assembly

Para registrar o assembly vamos usar o utilitário gacutil. o comando é gacutil /i nomedoassembly.dll

 

Agora já é possível criar aplicativos que possuem como referência um assembly registrado no GAC. Para adicionar a referência basta procurar na aba .NET do visual studio.

 

E quando eu alterar o assembly adicionado no GAC?

Quando um assembly do GAC for alterado será necessário registrar novamente o mesmo e reiniciar o visual studio para que ele atualize a sua referência de desenvolvimento. Como no projeto que surgiu a necessidade de usar o GAC estamos constantemente editando o projeto adicionado nós criamos um script para execução no Build Events do projeto. Se alguem precisar so script pode comentar aqui que eu explico como funciona.

Author: higor.cesar Categories: Arquitetura, Uncategorized, visual Studio Tags:

Visual Studio: Build X Rebuild

22, maro, 2010

Acredito que muita gente já se enrolou ou ainda se enrola quando o assunto é a diferença entre Build e Rebuild. E então, sabe a resposta de cabeça?uma busca no google retorna o resultado que é muito interessante.

Build
Significa o mesmo que compilar, apenas os arquivos alterados desde o ultimo build são processados.Este é o processo indicado.

Rebuild
Neste caso todos os arquivos alterados ou não são processados, deve ser utilizado quando existe necessidade de sincronia talvez por alterações no projeto.

Run
Todos os arquivos alterados são atualizados pelo VS e apenas os mesmos são processados

 

 

extra: Estava lendo um blog que dizia ser possível compilar apenas o arquivo corrente(sendo editado) usando o comando Ctrl+F7, não sei se meus atalhos estão diferentes mas a ferramenta não mudou nada.

 

fonte:

http://petesbloggerama.blogspot.com/2007/12/visual-studio-difference-between-build.html

Author: higor.cesar Categories: pragmatísmo, visual Studio Tags:

T4: Recursos e Links

6, janeiro, 2010

Pessoal, continuando com os estudo sobre T4 achei muitos links legais com ferramentas e tutoriais. vou deixar aqui pra vocês

Editor tangible T4

Este editor é integrado ao visual studio, torna o trabalho de edição muito mais legal.

PreviewT4Editor Download

 

T4 ToolBox

Prove uma série de templates prontos para serem usados além de extensões  para o visual studio, pode ser usado tanto com VB quanto C#. Muito bom pra quem quer geral código LINQ ou EF.

Download

 

Tutoriais e posts

http://www.hanselman.com/blog/T4TextTemplateTransformationToolkitCodeGenerationBestKeptVisualStudioSecret.aspx
http://www.olegsych.com/2007/12/text-template-transformation-toolkit/
http://msdn.microsoft.com/en-us/library/bb126445.aspx

Author: higor.cesar Categories: T4, visual Studio Tags:

Gerando código com templates T4 – Parte I

15, dezembro, 2009

Hoje muito se ouve na comunidade .NET sobre templates T4.Não vou entrar no mérito de falar o que é pois vários blogs já o fizeram, você pode obter referências aqui, aqui e aqui. Eu mostrar um exemplo de como podemos gerar código sem conhecer muito do T4.

A ferramenta que vou usar é o VS2010 beta 2 com o add-on tangible t4 editor que pode ser baixado diretamente do visual studio.Para iniciar vamos criar uma solução clas library e adicionar um arquivo chamado

No exemplo abaixo vamos criar uma classe com o crud de uma entidade chamada pessoa. vamos usar LINQTOSQL para facilitar o exemplo.

EntidadePessoa

Após criar o banco com a tabela pessoa vamos adicionar um arquivo t4 chamado crud.tt .

vs2010:Selecionar  a opção general nos tipos de arquivos e selecionar o arquivo text template.

vs2008:Adicionar um arquivo com extensão .tt.

1-Vamos começar alterando a opção extension na tag  output, vamos colocar .cs.

2- declarar variáveis para armazenar os dados que serão utilizados várias vezes pelo template

<# var NomeDaClasse = “Pessoa”;
var NomeDoDataContext = “db”;
#>

3- Adicionar os namespaces que serão utilizados pelo nosso CRUD

using System;

using System.Collections.Generic;

using System.Linq;

4- Declarar a classe responsável pelo CRUD

public class <#=NomeDaClasse#>CRUD {}
5- podemos salvar o arquivo e ver como nosso .cs está ficando
6-vamos declarar o nosso dataContext e criar um construtor para inicializá-lo
<#=NomeDoDataContext#> db;
public <#=NomeDaClasse#>CRUD()
{
db = new <#=NomeDoDataContext#>();
}
No meu arquivo .cs o DataContext não ficou “colorido”, vou colocar o namespace da minha classe
namespace BlogT4
{
public class <#=NomeDaClasse#>CRUD
{
<#=NomeDoDataContext#> db;
public <#=NomeDaClasse#>CRUD()
{
db = new <#=NomeDoDataContext#>();
}
}
}
7- vamos adicionar nosso primeiro método, será o inserir.
public void Inserir(<#=NomeDaClasse#> entidade)
{
db.<#=NomeDaClasse#>s.InsertOnSubmit(entidade);
db.SubmitChanges();
}
O código acima está completamente amarrado com o LINQTOSQL, vamos manter assim para facilitar o exemplo. Acho que agora você já sabe criar o deletar e atualizar certo? então vou criar um método que retorna todas as pessoas
8- criando um método que retorna todas as entidades
public IQueryable<<#=NomeDaClasse#>> RecuperaTodasAsPessoas()
{
return db.<#=NomeDaClasse#>s;
}

Galera, já temos nosso código CRUD básico, para gerar o mesmo código para outra classe basta mudar a variável NomeDaClasse e pronto!


   1: using System;

   2: using System.Collections.Generic;

   3: using System.Linq;

   4:

   5: namespace BlogT4

   6: {

   7:     public class PessoaCRUD

   8:     {

   9:

  10:         BlogT4DataDataContext db;

  11:

  12:         public PessoaCRUD()

  13:         {

  14:             db = new BlogT4DataDataContext();

  15:         }

  16:

  17:         public void Inserir(Pessoa entidade)

  18:         {

  19:             db.Pessoas.InsertOnSubmit(entidade);

  20:             db.SubmitChanges();

  21:         }

  22:

  23:         public IQueryable<Pessoa> RecuperaTodasAsPessoas()

  24:         {

  25:             return db.Pessoas;

  26:         }

  27:

  28:     }

  29: }

no proximo post sobre T4 vamos melhorar as coisas e gerar código de maneira mais elegante! Até o próximo..

ps: o wordpres+ live writer estão sacaneando minha formatação..

Author: higor.cesar Categories: Agile, Arquitetura, c#, pragmatísmo, visual Studio Tags:

Visual Studio, Condições durante o debug

4, dezembro, 2009

Fala Galera, ontem aprendi uma técnica que facilita muitos casos durante o debug. Podemos setar condições que serão avaliadas quando estamos debugando. Vamos olhar um exemplo

   1: class Program

   2:    {

   3:        static void Main(string[] args)

   4:        {

   5:            for (int i = 0; i < 100; i++)

   6:            {

   7:                //Realizar uma operação diferente na ultima iteração

   8:

   9:            }

  10:        }

  11:    }

Para abrir a janela abaixo basta clicar com o botão direito no breakpoint e selecionar Condition

CondicaoDuranteDebug

Após esta configuração basta apertar F5(Start debugging) e reparar que a execução vai parar exatamente no caso de i==99.

Author: higor.cesar Categories: pragmatísmo, visual Studio Tags:

Output window(Visual Studio)

19, novembro, 2009

Fala galera,

Ontem eu tive vs2010_logoalguns erros quando publicando minha aplicação no VS, não sei porque estes erros não apareciam na error list, pesquisei um pouco e achei os caras do stack overflow indicando o uso da output window(CTRL+ALT+O) para visualizar os erros. Depois de algum tempo consegui resolver meu problema perfeitamente. Ainda ontem tive problema semelhante quando convertendo um projeto para versão 2010 do Visual Studio, adivinhe o que eu fiz? Usei o output Windows! Eu não havia usado esta ferramenta e antes, não sabia que era tão útil e efetiva. Fica ai a dica, caso seus erros não sejam listados na error list você ainda pode tentar usar a output window

Author: higor.cesar Categories: visual Studio Tags:

TDD com Resharper

5, novembro, 2009

Fala galera, após um longo tempo relutante resolvi testar o Resharper. Não gostava muito da idéia de novas ferramentas pois queria conhecer bem o Visual Studio. Após o vídeo do kata feito pelo Bassi. Resolvi fazer meu próprio teste. Realmente a ferramenta aumenta a produtividade de maneira considerável, no entanto as funcionalidades que facilitam o TDD foram as que mais me chamaram a atenção.

Basicamente o fluxo de desenvolvimento TDD é:

1-Criar o teste

2-Testar

3-Criar o código

4-Testar

5-Refatorar

6-Testar

Então vamos ver alguns simples exemplos usando o Resharper

1-Criando o teste

img1

2-Criando o código

img2

3-Criando um arquivo para a nova classe

img3

4-Rodando o teste

img4

Acho que ficou mais facil não é? quem quiser testar aqui está o download.

Author: higor.cesar Categories: NUnit, Testes, visual Studio Tags:

Você conhece sua ferramenta de trabalho ?

4, novembro, 2009

O livro Programador pragmático contém um capítulo (3) que fala sobre o ambiente de desenvolvimento. Neste capitulo são reservados alguns momentos para abordar a ferramenta fundamental para os desenvolvedores, seu editor. Logo de cara ele vem com a dica de usar apenas um editor para realizar todos os tipos de trabalhos como programação, documentação edição de texto e etc. Usando apenas um editor você será capaz de aprender todos os atalhos, teclas secretas e melhores práticas com a ferramenta além de ser mais fácil acompanhar a evolução da mesma. Neste mesmo o capitulo aborda que o desenvolvedor deve  conhecer bem sua ferramenta de desenvolvimento e que é melhor saber usar bem um editor que ser razoável em muitos.

“Use um único editor bem”

A maior parte da galera que desenvolve em .NET utiliza o Visual Studio, e integrado a ele podem existir outras várias ferramentas como o Resharper.Tenho lá minhas dúvidas se a galera .NET sabe todos os atalhos legais ou se ao menos configura sua IDE da maneira que mais lhe convém, exemplos legais podem ser encontrados aqui e aqui. A quantidade de ferramentas para desenvolvimento vem aumentando, hoje já usamos uma ferramenta de testes (NUnit), um Cliente SGBD(SQLServer management studio), controle de versão além da IDE. Uma IDE como o visual studio fornece suporte para adaptação de diversas ferramentas como testes, debugging, controle de versão e etc.

O livro cita algumas características fundamentais para um bom editor/IDE, são elas:

  • Configurável
  • Extensível
  • Programável
  • Produtivo
  • Multi plataforma
  • Multi linguagem

A questão do post é enfatizar a importância de conhecer bem seu ambiente de trabalho. Quanto menos você tirar às mãos do teclado maior a produtividade.

PS: É claro, programar sem usar o mouse pode impressionar um programador da equipe

Author: higor.cesar Categories: Trabalho, pragmatísmo, visual Studio Tags:

Visual Studio 2008:Dicas e truques

23, outubro, 2008

Fala Galera, estava lendo o Blog do ScottGu e vi um link com “dicas e truques” do visual Studio 2008.Bem muitas das dicas eu já conhecia, mas uma me surpreendeu. A dica é simples: Não é necessário selecionar uma linha para depois apertar CTRL+C, isso mesmo, quando você quiser copiar uma linha basta posicionar o cursor no início da linha e pressionar CTRL+C. Essa dica eu não conhecia, se vocês souberem de mais dicas legais postem nos comentários.quem quiser ler o post inteiro está aqui Até mais…

Author: higor.cesar Categories: dicas, visual Studio Tags:

Refatorando com o visual Studio

15, outubro, 2008

Fala galera,desculpe a ausência do blog mas fiquei com preguiça de postar mesmo rsrs. Bem,desta vez vou falar sobre o suporte a refatoração fornecido Poe algumas ferramentas.Mesmo que você não seja um entusiasta da refatoração certamente você já precisou renomear um método ou qualquer outra estrutura.Eu sei que existem ferramentas com um amplo suporte para a refatoração.Das IDEs que eu conheço as que fornecem o recurso são: Visual Studio, ZendStudio, Eclipse e NetBeans.

    Vocês devem saber que o visual Studio possui diversas versões. Eu trabalho com a professional, mas tenho a Team System em casa. Eu realmente não me lembro se no VS Express o suporte a refatoração está disponível.Eu ainda não conheço todas as possibilidades fornecidas pelo visual Studio, mas ando usando muito a opção de renomear.No projeto em que trabalho temos uma arquitetura N-tier, logo fica complicado procurar as possíveis referencias as chamadas de métodos. Trocar o nome de um método pode ser perigoso, este perigo aumenta com o tamanho do projeto. Claro que existem maneiras de facilitar esta alteração, neste post eu falo um pouco sobre uma possível solução.Pra quem quiser conferir como funciona no visual Studio basta selecionar o nome do método, clicar com o botão direito do mouse e selecionar a opção refaoração->renomear. Ele exibe a opção de procurar o método em strings e em outras estruturas.. É isso, eu achei muito legal quando vocês tiverem de renomear um método olhem esta opção.

Grande abraço!

Author: higor.cesar Categories: Refatoração, visual Studio Tags: