portella.com.br

Blog pessoal de Felipe Portella

Archive for the ‘.NET Framework’ Category





How to install an assembly into the Global Assembly Cache in Visual C#

without comments

http://support.microsoft.com/kb/815808

Written by Felipe Portella

October 8th, 2009 at 4:36 pm

Posted in .NET Framework

Tagged with

Align String with Spaces [C#]

without comments

http://www.csharp-examples.net/align-string-with-spaces/

This example shows how to align strings with spaces. The example formats text to table and writes it to console output.

To align string to the right or to the left use static method String.Format. To align string to the left (spaces on the right) use formatting patern with comma (,) followed by a negative number of characters: String.Format(„{0,–10}“, text). To right alignment use a positive number: {0,10}.

Following example shows how to format text to the table. Values in the first and second column are aligned to the left and the third column is aligned to the right.

[C#]

Console.WriteLine("-------------------------------");
Console.WriteLine("First Name | Last Name  |   Age");
Console.WriteLine("-------------------------------");
Console.WriteLine(String.Format("{0,-10} | {1,-10} | {2,5}", "Bill", "Gates", 51));
Console.WriteLine(String.Format("{0,-10} | {1,-10} | {2,5}", "Edna", "Parker", 114));
Console.WriteLine(String.Format("{0,-10} | {1,-10} | {2,5}", "Johnny", "Depp", 44));
Console.WriteLine("-------------------------------");

Output string:

 -------------------------------
 First Name | Last Name  |   Age
 -------------------------------
 Bill       | Gates      |    51
 Edna       | Parker     |   114
 Johnny     | Depp       |    44
 -------------------------------

See also

Written by Felipe Portella

August 11th, 2009 at 11:57 am

A First Look at Visual Studio 2010 and .NET 4.0

without comments

Written by Felipe Portella

July 14th, 2009 at 9:48 pm

Teste de classes internas

without comments

No arquivo AssemblyInfo.cs localizado na pasta Properties do projeto que
contém a classe interna que se deseja testar, adicione a seguinte
instrução:

[assembly: InternalsVisibleTo("InternalConstructor.Test")]

Isso torna classes internas visíveis ao assembly definido.

Dessa forma conseguiremos testar diretamente as classes internas, sem a
necessidade de testá-las através de chamadas de funções públicas que as
usam.

Written by Felipe Portella

June 26th, 2009 at 10:07 pm

Resolvendo problemas de segurança do .NET com o CasPol.exe

without comments

Se você quer executar código .NET localizado em um drive de rede, você pode ter problemas de segurança se o mesmo não for assinado ou não tiver um strong name associado. Também é comum ao tentar abrir um projeto no Visual Studio que esteja na rede você receber o erro: “The Project Location Is Not Trusted”.

Para resolver estes problemas você pode usar o aplicativo CasPol.exe. Para isso, como administrador execute o comando:

caspol -m -ag 1.2 -url urlname FullTrust

Ex: c:\Windows\Microsoft.NET\Framework64\v2.0.50727\CasPol.exe -m -ag 1.2 -url file://\\machine\foldershare\* FullTrust

OBS 1: O permissionamento é por framework! Logo, atente para versão e arquitetura (32 ou 64 bits). Chamei a atenção para o uso da versão 64 bits, pois hoje eu tive exatamente este problema e demorei até perceber que eu precisava adicionar a regra de segurança na versão 64 bits e eu estava reproduzindo vários exemplos da Internet com 32 bits.

OBS 2: Não tive sucesso utilizando o IP na URL.

Mais informações em: http://blogs.msdn.com/shawnfa/archive/2004/12/30/344554.aspx

Written by Felipe Portella

February 10th, 2009 at 10:31 pm

Posted in .NET Framework

SharpDevelop

without comments

O SharpDevelop é uma boa aternativa open source ao Visual Studio para desenvolvedores C#. Ele tem mais recursos inclusive que o Visual Studio C# Express Edition , que é a alternativa gratuita da própria Microsoft. Segue um resumo do press release da versão 3.0, lançada hoje:

Supported Programming Languages

  • C# (Code Completion, Windows Forms Designer)
  • VB.NET (Code Completion, Windows Forms Designer)
  • Boo (Code Completion, Windows Forms Designer)
  • IronPython
  • F#

Developer Productivity

  • Refactoring
  • Parallel build support for multi-core machines
  • Multi-framework targetting (.NET 2.0, 3.0 and 3.5)
  • Code Autoinsert
  • Starts from a USB memory stick (Link)
  • Read-only project support

Quality Tools

  • Integrated Debugger
  • Code Analysis (FxCop)
  • Unit Testing (NUnit)
  • Code Coverage (PartCover)
  • Integrated Subversion support (TortoiseSVN)
  • StyleCop addin (Link)

And More…

  • Setup projects (WiX)
  • Parser-based code converter (Online Code Converter)
  • XML “code completion”
  • Documentation generation (Sandcastle, SHFB)
  • Reflector addin (Link)
  • Easy addin extensibility mechanism
  • SharpDevelop for Applications (SDA) allows you to host SharpDevelop in your applications (Link)
  • Text editor is rehostable to add a programmer’s editor to your applications (including code completion!)

http://www.icsharpcode.net/OpenSource/SD/Download/

Written by Felipe Portella

February 10th, 2009 at 10:12 pm

Microsoft Chart Controls

without comments

A Microsoft oferece gratuitamente o controle Microsoft Chart Controls para o .NET Framework(você pode usar tanto em projetos ASP.NET quanto Windows Forms). O controle vem com mais de 200 exemplos bem organizados.

Microsoft Chart Controls Project

Microsoft Chart Controls for Microsoft .NET Framework 3.5 Download

Microsoft Chart Controls Add-on for Microsoft Visual Studio 2008 Download

Written by Felipe Portella

February 6th, 2009 at 6:45 pm

Problemas com o ASP.NET Development Server

without comments

Ontem, misteriosamente o meu ambiente de desenvolvimento ASP.NET parou de funcionar. E não foi algum problema do meu projeto, pois eu criei um novo projeto ASP.NET Web Site só com um “Olá mundo” e ao executá-lo com o F5 ou CTRL+F5 o erro se repetia.

O problema era que ao executar qualquer aplicação ASP.NET, o browser exibia uma mensagem padrão informando que não podia exibir aquele site:

No Internet Explorer: “Internet Explorer cannot display the webpage”
No Firefox: “The connection was reset”
Com o browser interno do VS: “Navigation to the webpage was cancelled”

Após alguns testes eu descobri que isso só acontecia para o servidor web interno do Visual Studio 2005 (o “ASP.NET Development Server”), que é justamente o que eu uso durante o desenvolvimento. Ao abrir com qualquer browser o mesmo projeto usando o IIS em http://localhost tudo funcionava bem.

Tentei todas as opções óbvias nesta situação: resinstalei o Visual Studio 2005, .NET Framework 2.0 … e após vários boots sem sucesso resolvi testar no Windows Vista que eu tenho numa máquina virtual. Como essa máquina só tinha o sistema operacional para uns testes, eu aproveitei e instalei o trial do Visual Studio 2008. Após a instalação criei um projeto ASP.NET 3.5 com uma página “Olá mundo” e ao executar tive uma grande surpresa. O mesmo problema !

Como que em duas máquinas (sendo uma virtual), com sistemas operacionais diferentes e versões diferentes do Visual Studio o mesmo erro se repete?!

Após um bom tempo de pesquisa na Internet achei uma mensagem no ASP.NET Forum indicando uma solução para este problema no Vista no blog do Rob Bazinet:

http://rbazinet.wordpress.com/2007/10/25/aspnet-development-server-problems-under-vista/#comment-3468

Segundo as pesquisas do Rob, o IPv6 causa alguns problemas no Vista na resolução de nomes locais. Desabilitando ele tudo volta a funcionar com qualquer browser.

Desabilitando o IPv6

Ao contrário do Windows XP, o IPv6 não pode ser desinstalado no Windows Vista. Apesar de você poder desabilitá-lo nas propriedades das conexões de rede, essa solução não resolve o problema mencionado acima. Assim temos que recorrer ao registro indo na chave:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters\

e criando um valor do tipo DWORD chamado de DisabledComponents e com valor hexadecimal FF. A chave vai apresentar o valor 0x000000FF (255).

É preciso dar boot para as alterações entrarem em vigor.

Mais detalhes sobre o IPv6 no Vista em:
http://technet.microsoft.com/pt-br/library/bb878057(en-us).aspx#EAKAC

A solução acima resolveu o meu problema no Vista com o Visual Studio 2008, mas não no meu Windows XP Tablet Edition com o Visual Studio 2005. A única solução que funcionou no Tablet foi a boa e velha restauração do sistema.

Como minha máquina estava funcionando ontem, fiz a restauração e tudo voltou a funcionar, mas fiquei sem uma boa explicação do que aconteceu. Se você souber de algo me avise pois perdi um dia inteiro com esse problema e não quero perder outro se voltar a se repetir! Pelo que entendi o erro do IPv6 é algo “comum” no Vista, mas não me pareceu o mesmo problema no Windows XP Tablet Edition, ou pelo menos esta solução não funciona nele.

Written by Felipe Portella

December 21st, 2008 at 11:55 pm

Posted in .NET Framework

Tagged with

Otimizando aplicações ASP.NET

without comments

O Dennes Oliveira deu algumas dicas interessantes para otimização de aplicações ASP.NET. Seguem os links dos posts:

ASP.NET : Worker Threads” href=”http://cidadaocarioca.blogspot.com/2008/03/otimizando-aplicaes-aspnet-worker.html” target=”_blank”>Otimizando aplicações ASP.NET : Worker Threads

ASP.NET” href=”http://cidadaocarioca.blogspot.com/2008/03/otimizando-o-pipeline-do-aspnet.html” target=”_blank”>Otimizando o pipeline do ASP.NET

ASP.NET : Acesso Externo” href=”http://cidadaocarioca.blogspot.com/2008/03/otimizando-aplicaes-aspnet-acesso.html” target=”_blank”>Otimizando aplicações ASP.NET : Acesso Externo

Written by Felipe Portella

December 21st, 2008 at 11:54 pm

Posted in .NET Framework

Tagged with

Moving from 32-bit to 64-bit application development on .NET Framework

without comments

Written by Felipe Portella

December 21st, 2008 at 11:50 pm

Posted in .NET Framework