<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://msmvps.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><title type="html">Alberto Silva</title><subtitle type="html">Um blog sobre mobilidade, desenvolvimento para plataformas Windows Mobile e os obrigatórios Off-topic!</subtitle><id>http://msmvps.com/blogs/albertosilva/atom.aspx</id><link rel="alternate" type="text/html" href="http://msmvps.com/blogs/albertosilva/default.aspx" /><link rel="self" type="application/atom+xml" href="http://msmvps.com/blogs/albertosilva/atom.aspx" /><generator uri="http://communityserver.org" version="4.1.40407.4157">Community Server</generator><updated>2010-10-08T16:25:14Z</updated><entry><title>Comunicação de documentos de transporte à AT a partir da .NET Compact Framework [actualizado]</title><link rel="alternate" type="text/html" href="/blogs/albertosilva/archive/2013/04/09/comunica-231-227-o-de-documentos-de-transporte-224-at-a-partir-da-net-compact-framework.aspx" /><id>/blogs/albertosilva/archive/2013/04/09/comunica-231-227-o-de-documentos-de-transporte-224-at-a-partir-da-net-compact-framework.aspx</id><published>2013-04-09T21:15:00Z</published><updated>2013-04-09T21:15:00Z</updated><content type="html">&lt;p&gt;A partir de 1 de Maio, os documentos de transporte ter&amp;atilde;o de ser comunicados previamente &amp;agrave; AT, sendo uma das formas disponibilizadas e aquela que se afigura mais pr&amp;aacute;tica, a comunica&amp;ccedil;&amp;atilde;o via webservices, que permite na resposta obter o c&amp;oacute;digo atribu&amp;iacute;o pela AT ao documento transmitido.&lt;/p&gt;
&lt;p&gt;Com base na informa&amp;ccedil;&amp;atilde;o &lt;a href="http://www.portugal-a-programar.pt/topic/57734-utilizar-webservices-da-at-facturas-saft-pt/page__st__500"&gt;num t&amp;oacute;pico &lt;/a&gt;no Portugal-a-programar, comecei a semana passada um projecto de testes para validar se a comunica&amp;ccedil;&amp;atilde;o em causa poderia ser feita directamente a partir da .NET Compact Framework, o que se afigurava dif&amp;iacute;cil dadas as limita&amp;ccedil;&amp;otilde;es da .NET CF a lidar com certificados, nomeadamente o carregamento de .pfx e a utiliza&amp;ccedil;&amp;atilde;o de .cer para encriptar a informa&amp;ccedil;&amp;atilde;o. Depois de dias a investigar Platform Invokes para o efeito sem sucesso, e de ter confirmado que uma ou outra solu&amp;ccedil;&amp;atilde;o candidata n&amp;atilde;o produzia resultados v&amp;aacute;lidos quando comunicados aos servi&amp;ccedil;os da AT, acabei por fazer aquilo que deveria ter feito em 1&amp;ordm; lugar: procurar um componente de terceiros que fizesse o servi&amp;ccedil;o, e assim no &lt;a href="http://www.componentsource.com"&gt;www.componentsource.com&lt;/a&gt; descobri &lt;a href="http://www.eldos.com/sbb/desc-pki.php"&gt;um componente &lt;/a&gt;que, n&amp;atilde;o sendo caro, resolve as duas limita&amp;ccedil;&amp;otilde;es que tinha encontrado.&lt;/p&gt;
&lt;p&gt;O seguinte m&amp;eacute;todo em C# devolve o resultado da chamada ao servi&amp;ccedil;o:&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;private&lt;/span&gt; &lt;span style="color:blue;"&gt;static&lt;/span&gt; &lt;span style="color:blue;"&gt;string&lt;/span&gt; testa()&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;string&lt;/span&gt; senhaCertificado = &lt;span style="color:#a31515;"&gt;&amp;quot;TESTEwebservice&amp;quot;&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;string&lt;/span&gt; userPortal = &lt;span style="color:#a31515;"&gt;&amp;quot;506xxxxxx/1&amp;quot;&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;string&lt;/span&gt; passwordPortal = &lt;span style="color:#a31515;"&gt;&amp;quot;xxxxxxxxx&amp;quot;&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;string&lt;/span&gt; caminhoCertificadoPFX = &lt;span style="color:#a31515;"&gt;@&amp;quot;\storage card\at\TestesWebServices.pfx&amp;quot;&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;string&lt;/span&gt; caminhoCertificadoCER = &lt;span style="color:#a31515;"&gt;@&amp;quot;\storage card\at\ChavePublicaAT.cer&amp;quot;&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;string&lt;/span&gt; horaCriacaoCifrada;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;string&lt;/span&gt; senhaCifrada;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;string&lt;/span&gt; nonce;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;SBUtils.&lt;span style="color:#2b91af;"&gt;Unit&lt;/span&gt;.SetLicenseKey(&lt;span style="color:#a31515;"&gt;&amp;quot;&lt;em&gt;colocar aqui a chave inclu&amp;iacute;da no ficheiro C:\Program Files (x86)\EldoS\SecureBlackbox.NET\Assemblies\NET_CF20\LicenceKey.txt&lt;/em&gt;&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;X509Certificate2&lt;/span&gt; x509 = &lt;span style="color:blue;"&gt;null&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:#2b91af;"&gt;TElX509Certificate&lt;/span&gt; x509t = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;TElX509Certificate&lt;/span&gt;(&lt;span style="color:blue;"&gt;null&lt;/span&gt;))&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;FileStream&lt;/span&gt; stream = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;FileStream&lt;/span&gt;(caminhoCertificadoPFX, &lt;span style="color:#2b91af;"&gt;FileMode&lt;/span&gt;.Open);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;x509t.LoadFromStreamPFX(stream, senhaCertificado, 0);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;byte&lt;/span&gt;[] b;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;x509t.SaveToBuffer(&lt;span style="color:blue;"&gt;out&lt;/span&gt; b);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;x509 = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;X509Certificate2&lt;/span&gt;(b);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;String&lt;/span&gt; DataCriacao = &lt;span style="color:#2b91af;"&gt;DateTime&lt;/span&gt;.Now.ToUniversalTime().ToString(&lt;span style="color:#a31515;"&gt;&amp;quot;yyyy-MM-ddTHH:mm:ss.ff&amp;quot;&lt;/span&gt;) + &lt;span style="color:#a31515;"&gt;&amp;quot;Z&amp;quot;&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;RijndaelManaged&lt;/span&gt; rijndaelCipher = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;RijndaelManaged&lt;/span&gt;();&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;rijndaelCipher.GenerateKey();&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;rijndaelCipher.Mode = &lt;span style="color:#2b91af;"&gt;CipherMode&lt;/span&gt;.ECB;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;rijndaelCipher.Padding = &lt;span style="color:#2b91af;"&gt;PaddingMode&lt;/span&gt;.PKCS7;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;SymmetricAlgorithm&lt;/span&gt; rijn = &lt;span style="color:#2b91af;"&gt;SymmetricAlgorithm&lt;/span&gt;.Create();&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;rijn.Key = rijndaelCipher.IV;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;rijn.IV = rijndaelCipher.IV;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;rijn.Mode = &lt;span style="color:#2b91af;"&gt;CipherMode&lt;/span&gt;.ECB;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;MemoryStream&lt;/span&gt; msPassFinancas = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;MemoryStream&lt;/span&gt;();&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#2b91af;"&gt;CryptoStream&lt;/span&gt; csPassFinancas = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;CryptoStream&lt;/span&gt;(msPassFinancas, rijn.CreateEncryptor(rijn.Key, rijn.IV), &lt;span style="color:#2b91af;"&gt;CryptoStreamMode&lt;/span&gt;.Write);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:#2b91af;"&gt;StreamWriter&lt;/span&gt; swPassFinancas = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;StreamWriter&lt;/span&gt;(csPassFinancas))&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;swPassFinancas.Write(passwordPortal);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;MemoryStream&lt;/span&gt; msDataCriacao = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;MemoryStream&lt;/span&gt;();&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;CryptoStream&lt;/span&gt; csDataCriacao = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;CryptoStream&lt;/span&gt;(msDataCriacao, rijn.CreateEncryptor(rijn.Key, rijn.IV), &lt;span style="color:#2b91af;"&gt;CryptoStreamMode&lt;/span&gt;.Write);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:#2b91af;"&gt;StreamWriter&lt;/span&gt; swDataCriacao = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;StreamWriter&lt;/span&gt;(csDataCriacao))&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;swDataCriacao.Write(DataCriacao);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;senhaCifrada = &lt;span style="color:#2b91af;"&gt;Convert&lt;/span&gt;.ToBase64String(msPassFinancas.ToArray());&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;horaCriacaoCifrada = &lt;span style="color:#2b91af;"&gt;Convert&lt;/span&gt;.ToBase64String(msDataCriacao.ToArray());&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;RSACryptoServiceProvider&lt;/span&gt; AlgRSA = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;RSACryptoServiceProvider&lt;/span&gt;();&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;byte&lt;/span&gt;[] rsaModulus = &lt;span style="color:blue;"&gt;null&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;byte&lt;/span&gt;[] rsaPublicKey = &lt;span style="color:blue;"&gt;null&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:#2b91af;"&gt;TElX509Certificate&lt;/span&gt; x509t = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;TElX509Certificate&lt;/span&gt;(&lt;span style="color:blue;"&gt;null&lt;/span&gt;))&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;x509t.LoadFromFileAuto(caminhoCertificadoCER, &lt;span style="color:#a31515;"&gt;&amp;quot;&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;int&lt;/span&gt; rsaModulusSize = 0;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;int&lt;/span&gt; rsaPublicKeySize = 0;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;x509t.GetRSAParams(&lt;span style="color:blue;"&gt;ref&lt;/span&gt; rsaModulus, &lt;span style="color:blue;"&gt;ref&lt;/span&gt; rsaModulusSize, &lt;span style="color:blue;"&gt;ref&lt;/span&gt; rsaPublicKey, &lt;span style="color:blue;"&gt;ref&lt;/span&gt; rsaPublicKeySize);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;rsaModulus = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:blue;"&gt;byte&lt;/span&gt;[rsaModulusSize];&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;rsaPublicKey = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:blue;"&gt;byte&lt;/span&gt;[rsaPublicKeySize];&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;x509t.GetRSAParams(&lt;span style="color:blue;"&gt;ref&lt;/span&gt; rsaModulus, &lt;span style="color:blue;"&gt;ref&lt;/span&gt; rsaModulusSize, &lt;span style="color:blue;"&gt;ref&lt;/span&gt; rsaPublicKey, &lt;span style="color:blue;"&gt;ref&lt;/span&gt; rsaPublicKeySize);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;RSAParameters&lt;/span&gt; rsaP = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;RSAParameters&lt;/span&gt;()&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Modulus = rsaModulus,&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Exponent = rsaPublicKey&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;};&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;AlgRSA.ImportParameters(rsaP);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Byte&lt;/span&gt;[] Chave = AlgRSA.Encrypt(rijn.Key, &lt;span style="color:blue;"&gt;false&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;nonce = &lt;span style="color:#2b91af;"&gt;Convert&lt;/span&gt;.ToBase64String(Chave);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;StringBuilder&lt;/span&gt; sb = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;StringBuilder&lt;/span&gt;();&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sb.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;&amp;lt;?xml version=\&amp;quot;1.0\&amp;quot; encoding=\&amp;quot;UTF-8\&amp;quot;?&amp;gt;&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sb.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;&amp;lt;S:Envelope xmlns:wss=\&amp;quot;http://schemas.xmlsoap.org/ws/2002/12/secext\&amp;quot; xmlns:ns2=\&amp;quot;https://servicos.portaldasfinancas.gov.pt/sgdtws/documentosTransporte/\&amp;quot; xmlns:S=\&amp;quot;http://schemas.xmlsoap.org/soap/envelope/\&amp;quot;&amp;gt;&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sb.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;&amp;lt;S:Header&amp;gt;&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sb.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;&amp;lt;wss:Security&amp;gt;&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sb.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;&amp;lt;wss:UsernameToken&amp;gt;&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sb.AppendFormat(&lt;span style="color:#a31515;"&gt;&amp;quot;&amp;lt;wss:Username&amp;gt;{0}&amp;lt;/wss:Username&amp;gt;&amp;quot;&lt;/span&gt;, userPortal);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sb.AppendFormat(&lt;span style="color:#a31515;"&gt;&amp;quot;&amp;lt;wss:Password&amp;gt;{0}&amp;lt;/wss:Password&amp;gt;&amp;quot;&lt;/span&gt;, senhaCifrada);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sb.AppendFormat(&lt;span style="color:#a31515;"&gt;&amp;quot;&amp;lt;wss:Nonce&amp;gt;{0}&amp;lt;/wss:Nonce&amp;gt;&amp;quot;&lt;/span&gt;, nonce);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sb.AppendFormat(&lt;span style="color:#a31515;"&gt;&amp;quot;&amp;lt;wss:Created&amp;gt;{0}&amp;lt;/wss:Created&amp;gt;&amp;quot;&lt;/span&gt;, horaCriacaoCifrada);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sb.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;&amp;lt;/wss:UsernameToken&amp;gt;&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sb.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;&amp;lt;/wss:Security&amp;gt;&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sb.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;&amp;lt;/S:Header&amp;gt;&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sb.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;&amp;lt;S:Body&amp;gt;&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;sb.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;&amp;lt;ns2:envioDocumentoTransporteRequestElem&amp;gt;&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sb.Append(&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;color:#a31515;mso-no-proof:yes;"&gt;@&amp;quot;&amp;lt;TaxRegistrationNumber&amp;gt;&lt;strong&gt;xxxxxxxxx&lt;/strong&gt;&amp;lt;/TaxRegistrationNumber&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;color:#a31515;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;CompanyName&amp;gt;Empresa para teste Lda.&amp;lt;/CompanyName&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;color:#a31515;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;CompanyAddress&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;color:#a31515;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;Addressdetail&amp;gt;Centro de Empresas de Taveiro&amp;lt;/Addressdetail&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;color:#a31515;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;color:#a31515;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&amp;lt;City&amp;gt;Taveiro&amp;lt;/City&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;color:#a31515;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;PostalCode&amp;gt;3045-123&amp;lt;/PostalCode&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;color:#a31515;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;Country&amp;gt;PT&amp;lt;/Country&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;color:#a31515;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;/CompanyAddress&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;color:#a31515;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;DocumentNumber&amp;gt;GT AA/4&amp;lt;/DocumentNumber&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;color:#a31515;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;MovementStatus&amp;gt;N&amp;lt;/MovementStatus&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;color:#a31515;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;strong&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;MovementDate&amp;gt;2013-04-11&amp;lt;/MovementDate&amp;gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;color:#a31515;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;MovementType&amp;gt;GT&amp;lt;/MovementType&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;color:#a31515;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;CustomerTaxID&amp;gt;999999990&amp;lt;/CustomerTaxID&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;color:#a31515;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&amp;lt;CustomerAddress&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;color:#a31515;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;Addressdetail&amp;gt;Urb. Atras Sol Posto&amp;lt;/Addressdetail&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;color:#a31515;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;City&amp;gt;Faro&amp;lt;/City&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;color:#a31515;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;PostalCode&amp;gt;6000-123&amp;lt;/PostalCode&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;color:#a31515;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;Country&amp;gt;PT&amp;lt;/Country&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;color:#a31515;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;/CustomerAddress&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;color:#a31515;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;CustomerName&amp;gt;Empresa Cliente, LDa.&amp;lt;/CustomerName&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;color:#a31515;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;AddressTo&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;color:#a31515;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;Addressdetail&amp;gt;Urb. Atras Sol Posto&amp;lt;/Addressdetail&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;color:#a31515;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;City&amp;gt;Faro&amp;lt;/City&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;color:#a31515;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;PostalCode&amp;gt;6000-123&amp;lt;/PostalCode&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;color:#a31515;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;Country&amp;gt;PT&amp;lt;/Country&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;color:#a31515;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;/AddressTo&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;color:#a31515;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;AddressFrom&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;color:#a31515;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;Addressdetail&amp;gt;Centro de Empresas de Taveiro&amp;lt;/Addressdetail&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;color:#a31515;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;City&amp;gt;Taveiro&amp;lt;/City&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;color:#a31515;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;PostalCode&amp;gt;3045-123&amp;lt;/PostalCode&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;color:#a31515;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;Country&amp;gt;PT&amp;lt;/Country&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;color:#a31515;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;/AddressFrom&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;color:#a31515;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;strong&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;MovementEndTime&amp;gt;2013-04-15T23:04:36.8111658+01:00&amp;lt;/MovementEndTime&amp;gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;color:#a31515;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;strong&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;MovementStartTime&amp;gt;2013-04-15T22:04:36.8101653+01:00&amp;lt;/MovementStartTime&amp;gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;color:#a31515;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;VehicleID&amp;gt;00-AA-11&amp;lt;/VehicleID&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;color:#a31515;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;Line&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;color:#a31515;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;ProductDescription&amp;gt;Ovos&amp;lt;/ProductDescription&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;color:#a31515;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;Quantity&amp;gt;12&amp;lt;/Quantity&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;color:#a31515;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;UnitOfMeasure&amp;gt;UN&amp;lt;/UnitOfMeasure&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;color:#a31515;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;UnitPrice&amp;gt;0.25&amp;lt;/UnitPrice&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;color:#a31515;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;&amp;lt;/Line&amp;gt;&amp;quot;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sb.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;&amp;lt;/ns2:envioDocumentoTransporteRequestElem&amp;gt;&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sb.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;&amp;lt;/S:Body&amp;gt;&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sb.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;&amp;lt;/S:Envelope&amp;gt;&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;color:blue;mso-no-proof:yes;"&gt;try&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;HttpWebRequest&lt;/span&gt; request = (&lt;span style="color:#2b91af;"&gt;HttpWebRequest&lt;/span&gt;)&lt;span style="color:#2b91af;"&gt;HttpWebRequest&lt;/span&gt;.Create(&lt;span style="color:#a31515;"&gt;&amp;quot;https://servicos.portaldasfinancas.gov.pt:701/sgdtws/documentosTransporte&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;request.Headers.Add(&lt;span style="color:#a31515;"&gt;&amp;quot;SOAPAction&amp;quot;&lt;/span&gt;, &lt;span style="color:#a31515;"&gt;&amp;quot;https://servicos.portaldasfinancas.gov.pt:701/sgdtws/documentosTransporte/&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;request.ClientCertificates.Add(x509);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;request.Method = &lt;span style="color:#a31515;"&gt;&amp;quot;POST&amp;quot;&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;request.ContentType = &lt;span style="color:#a31515;"&gt;&amp;quot;text/xml; charset=utf-8&amp;quot;&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;request.Accept = &lt;span style="color:#a31515;"&gt;&amp;quot;text/xml&amp;quot;&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;string&lt;/span&gt; postData = sb.ToString();&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;byte&lt;/span&gt;[] byteArray = &lt;span style="color:#2b91af;"&gt;Encoding&lt;/span&gt;.UTF8.GetBytes(postData);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;request.ContentLength = byteArray.Length;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Stream&lt;/span&gt; dataStream = request.GetRequestStream();&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;dataStream.Write(byteArray, 0, byteArray.Length);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;dataStream.Close();&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;HttpWebResponse&lt;/span&gt; response = (&lt;span style="color:#2b91af;"&gt;HttpWebResponse&lt;/span&gt;)request.GetResponse();&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;dataStream = response.GetResponseStream();&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;StreamReader&lt;/span&gt; reader = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;StreamReader&lt;/span&gt;(dataStream);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;string&lt;/span&gt; responseFromServer = reader.ReadToEnd();&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;reader.Close();&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;dataStream.Close();&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;response.Close();&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt; responseFromServer;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;catch&lt;/span&gt; (&lt;span style="color:#2b91af;"&gt;WebException&lt;/span&gt; ex)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt; (ex.Status == &lt;span style="color:#2b91af;"&gt;WebExceptionStatus&lt;/span&gt;.ProtocolError)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;WebResponse&lt;/span&gt; resp = ex.Response;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#2b91af;"&gt;StreamReader&lt;/span&gt; sr = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;StreamReader&lt;/span&gt;(resp.GetResponseStream());&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt; sr.ReadToEnd();&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;else&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt; ex.Message;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;font-family:Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Para compilar, ser&amp;aacute; necess&amp;aacute;rio adicionar uma refer&amp;ecirc;ncia &amp;agrave;s&amp;nbsp;assemblies SecureBlackBox e SecureBlackBox.PKI, instaladas na pasta C:\Program Files (x86)\EldoS\SecureBlackbox.NET\Assemblies\NET_CF20\ e mudar o valor da chave passada na chamada ao m&amp;eacute;todo SetLicenseKey. Ter em aten&amp;ccedil;&amp;atilde;o as chaves no XML que reportam a datas, pois a hora in&amp;iacute;cio tem de ser posterior &amp;agrave; hora actual, a hora fim quando fornecida tem de ser superior &amp;agrave; hora in&amp;iacute;cio e suponho que a data do documento tenha que ser igual ou anterior &amp;agrave; actual.&lt;/p&gt;
&lt;p&gt;Uma alternativa para o carregamento do certificado .pfx &amp;eacute; instal&amp;aacute;-lo no device (em Windows Mobile 6 ou posterior basta clicar sobre o certificado no file explorer do device, digitar a password e o certificado &amp;eacute; instalado, nos sistemas operativos anteriores utilizar o &lt;a href="http://www.jacco2.dds.nl/networking/p12imprt.html"&gt;p12import &lt;/a&gt;) e depois usar o seguinte c&amp;oacute;digo para recuperar o certificado da store. Uma vantagem desta abordagem &amp;eacute; poderem ser actualizados os certificados nos devices sem ter de alterar a aplica&amp;ccedil;&amp;atilde;o, a desvantagem &amp;eacute; que quem instala o certificado tem que conhecer a password do mesmo, que n&amp;atilde;o &amp;eacute; suposto ser partilhada:&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;static&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;X509Certificate2&lt;/span&gt; GetCertificate(&lt;span style="color:blue;"&gt;string&lt;/span&gt; issuerToFind, &lt;span style="color:blue;"&gt;out&lt;/span&gt; &lt;span style="color:blue;"&gt;string&lt;/span&gt; errorInfo)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;errorInfo = &lt;span style="color:#2b91af;"&gt;String&lt;/span&gt;.Empty;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;X509Certificate2&lt;/span&gt; r = &lt;span style="color:blue;"&gt;null&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;try&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;X509Store&lt;/span&gt; store = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;X509Store&lt;/span&gt;(&lt;span style="color:#2b91af;"&gt;StoreName&lt;/span&gt;.My,&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;System.Security.Cryptography.X509Certificates.&lt;span style="color:#2b91af;"&gt;StoreLocation&lt;/span&gt;.CurrentUser);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;store.Open(&lt;span style="color:#2b91af;"&gt;OpenFlags&lt;/span&gt;.ReadOnly);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:green;"&gt;//for example, issuerToFind = &amp;quot;CN=Your Certificate Authority CA&amp;quot;;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;color:green;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:green;"&gt;//X509Certificate2Collection collectionX509 =&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:green;"&gt;//&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;store.Certificates.Find(X509FindType.FindBySubjectName,&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:green;"&gt;//&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;subject, true);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:green;"&gt;//bool found = collectionX509.Count &amp;gt; 0;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;color:green;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:green;"&gt;//iterate in store Certificates and check if we have ours:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;bool&lt;/span&gt; found = &lt;span style="color:blue;"&gt;false&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;X509Certificate2Collection&lt;/span&gt; collectionX509 =&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;(&lt;span style="color:#2b91af;"&gt;X509Certificate2Collection&lt;/span&gt;)store.Certificates;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;foreach&lt;/span&gt; (&lt;span style="color:#2b91af;"&gt;X509Certificate2&lt;/span&gt; x509 &lt;span style="color:blue;"&gt;in&lt;/span&gt; collectionX509)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;string&lt;/span&gt; issuer = x509.GetIssuerName();&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt; (issuer == issuerToFind)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{ r = x509; &lt;span style="color:blue;"&gt;break&lt;/span&gt;; }&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;store.Close();&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-ansi-language:EN-US;mso-no-proof:yes;" lang="EN-US"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;color:blue;mso-no-proof:yes;"&gt;return&lt;/span&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; r;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;catch&lt;/span&gt; (&lt;span style="color:#2b91af;"&gt;Exception&lt;/span&gt; ex_certificate_present)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;errorInfo = ex_certificate_present.Message;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt; &lt;span style="color:blue;"&gt;null&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;font-family:Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1826946" width="1" height="1"&gt;</content><author><name>AlbertoSilva</name><uri>http://msmvps.com/members/AlbertoSilva/default.aspx</uri></author><category term="Desenvolvimento (.net CF)" scheme="http://msmvps.com/blogs/albertosilva/archive/tags/Desenvolvimento+_2800_.net+CF_2900_/default.aspx" /></entry><entry><title>Hora de balanços</title><link rel="alternate" type="text/html" href="/blogs/albertosilva/archive/2013/01/05/hora-de-balan-231-os.aspx" /><id>/blogs/albertosilva/archive/2013/01/05/hora-de-balan-231-os.aspx</id><published>2013-01-05T14:56:00Z</published><updated>2013-01-05T14:56:00Z</updated><content type="html">&lt;p&gt;As &amp;uacute;ltimas semanas do ano tem-se revelado ano ap&amp;oacute;s ano excelentes alturas para... n&amp;atilde;o marcar nada! H&amp;aacute; mil-e-uma coisas que nos comprometemos a fazer &amp;quot;ainda este ano&amp;quot;, a par das outras que somos obrigados a fazer, que acabam por n&amp;atilde;o deixar tempo nenhum livre nessa altura.&lt;/p&gt;
&lt;p&gt;Este foi um ano em que o volume de trabalho da moving2u se manteve a um n&amp;iacute;vel elevado, seja em termos de projectos &amp;agrave; medida, (em que se evoluiu a aplica&amp;ccedil;&amp;atilde;o que desenvolvemos para Windows Embedded Handheld (aka Windows Mobile) a MRW utilizada a n&amp;iacute;vel ib&amp;eacute;rico por mais de 2000 utilizadores que dela dependem para fazer as entregas e brevemente as recolhas, em que desenvolvemos a aplica&amp;ccedil;&amp;atilde;o de picking para o maior grupo de hipermercados em Portugal, depois de j&amp;aacute;&amp;nbsp;termos feito outra aplica&amp;ccedil;&amp;atilde;o no mesmo &amp;acirc;mbito&amp;nbsp;para outro grupo de hipermercados), seja de desenvolvimento de produto, em que a nossa nova solu&amp;ccedil;&amp;atilde;o para log&amp;iacute;stica (picking, invnet&amp;aacute;rio,&amp;nbsp;recep&amp;ccedil;&amp;atilde;o de fornecedores, transfer&amp;ecirc;ncias, encomendas internas,&amp;nbsp;...)&amp;nbsp;foi implementada em alguns cen&amp;aacute;rios muito espec&amp;iacute;ficos e que contamos disponibilizar em maior escala durante 2013 para os principais ERP, para al&amp;eacute;m da manuten&amp;ccedil;&amp;atilde;o da nossa solu&amp;ccedil;&amp;atilde;o para for&amp;ccedil;as de venda, igualmente comercializada pela Primavera com marca pr&amp;oacute;pria, e das altera&amp;ccedil;&amp;otilde;es necess&amp;aacute;rias &amp;agrave; conformidade com a nova legisla&amp;ccedil;&amp;atilde;o para aplica&amp;ccedil;&amp;otilde;es de fatura&amp;ccedil;&amp;atilde;o.&lt;br /&gt;A par destes desenvolvimentos concretos, investimos uma importante percentagem de tempo dos nossos recursos em investiga&amp;ccedil;&amp;atilde;o, principalmente em plataformas m&amp;oacute;veis alternativas, no sentido de as avaliar quanto &amp;agrave; sua adequabilidade para cen&amp;aacute;rios &amp;quot;Line of business&amp;quot;.&lt;/p&gt;
&lt;p&gt;2013 come&amp;ccedil;a por marcar o refor&amp;ccedil;o da equipa de desenvolvimento da moving2u com mais um elemento, de modo a acelerarmos o time-to-market de novas solu&amp;ccedil;&amp;otilde;es e podermos ainda assim regir a solicita&amp;ccedil;&amp;otilde;es de projectos por medida. 2013 ser&amp;aacute; tamb&amp;eacute;m o ano em que as decis&amp;otilde;es de incorpora&amp;ccedil;&amp;atilde;o de equipamentos de consumo nas organiza&amp;ccedil;&amp;otilde;es passar&amp;aacute; a uma nova etapa no seu amadurecimento, em que o Windows Embedded Handheld 6.5 continuar&amp;aacute; a ser a principal op&amp;ccedil;&amp;atilde;o em termos de terminais robustos mas com a concorr&amp;ecirc;ncia crescente do Android, esperando que o Windows Embedded Handheld 8, do qual se esperam mais detalhes a serem anunciados em Janeiro pela Microsoft, chegue igualmente a esse segmento de mercado.&lt;/p&gt;
&lt;p&gt;A par da minha atividade profissional, recebi pela 10&amp;ordf; vez consecutiva o t&amp;iacute;tulo de MVP pela Microsoft, esperando que 2013 volte a ter por parte desta um investimento na &amp;quot;mobilidade profissional&amp;quot; e nos eventos t&amp;eacute;cnicos como acontecia at&amp;eacute; alguns anos atr&amp;aacute;s. Noutro campo, mais uma vez fiz menos km fora de estrada com o Discovery do que aquilo que gostaria, esperando que tamb&amp;eacute;m nesse dom&amp;iacute;nio 2013 seja melhor, e no dom&amp;iacute;nio mais pessoal, n&amp;atilde;o obstante 2012 ter sido o ano em que mais pessoas pr&amp;oacute;ximas de n&amp;oacute;s nos deixaram, tivemos excelentes momentos passados em fam&amp;iacute;lia, seja em f&amp;eacute;rias, seja nos momentos mais casuais.&lt;/p&gt;
&lt;p&gt;Espero que 2013 vos traga um bom ano a todos, que o desemprego n&amp;atilde;o se cruze convosco e que mantenham a atitude de mangas arrega&amp;ccedil;adas a n&amp;iacute;vel profissional e tamb&amp;eacute;m&amp;nbsp;pessoal,&amp;nbsp;para que n&amp;atilde;o tenham nada a lamentar no final deste ano que agora se inicia.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1822164" width="1" height="1"&gt;</content><author><name>AlbertoSilva</name><uri>http://msmvps.com/members/AlbertoSilva/default.aspx</uri></author></entry><entry><title>O meu novo e inesperado gadget - ou "o Alberto tem um tablet Android"</title><link rel="alternate" type="text/html" href="/blogs/albertosilva/archive/2013/01/03/o-meu-novo-e-inesperado-gadget-ou-quot-o-alberto-tem-um-tablet-android-quot.aspx" /><id>/blogs/albertosilva/archive/2013/01/03/o-meu-novo-e-inesperado-gadget-ou-quot-o-alberto-tem-um-tablet-android-quot.aspx</id><published>2013-01-03T23:37:00Z</published><updated>2013-01-03T23:37:00Z</updated><content type="html">&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="font-size:11pt;font-family:Calibri;margin:0in;"&gt;H&amp;aacute; mais de um ano que temos um iPad 2 na empresa que utilizo ocasionalmente em situa&amp;ccedil;&amp;otilde;es onde n&amp;atilde;o se justifica - ou n&amp;atilde;o conv&amp;eacute;m - levar o PC, como um ou noutro fim de semana ou&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;em desloca&amp;ccedil;&amp;otilde;es mais prolongadas. Um exemplo foi a minha &amp;uacute;ltima ida ao MVP Global Summit em Seattle em Fevereiro passado, em que me muni apenas do meu LG E900 com Windows Phone 7.5 e do iPad2, e em que dependi desses 2 equipamentos, sem ter sentido falta do PC. A par da minha utiliza&amp;ccedil;&amp;atilde;o do iPad, as minhas filhas tamb&amp;eacute;m se ambientaram rapidamente ao equipamento e n&amp;atilde;o conseguia deixar de apreciar a naturalidade da mais nova de 4 anos a fechar aplica&amp;ccedil;&amp;otilde;es ou alternar entre elas com os gestos com as m&amp;atilde;ozitas dela no ecr&amp;atilde;. &lt;/p&gt;
&lt;p style="font-size:11pt;font-family:Calibri;margin:0in;"&gt;Antes desta minha experi&amp;ecirc;ncia com o iPad, j&amp;aacute; h&amp;aacute; muitos anos que apreciava o conceito tablet com sistema operativo Windows, desde o XP Tablet Edition. &amp;Eacute; um facto que o sistema operativo em si n&amp;atilde;o estava orientado a esse tipo de utiliza&amp;ccedil;&amp;atilde;o, mas algumas aplica&amp;ccedil;&amp;otilde;es exploravam muito bem o conceito, nomeadamente o OneNote que permitia tirar notas manuscritas - e guard&amp;aacute;-las nesse formato - e depois pesquisar palavras nessas notas. Escusam de tentar com qualquer iPad.&lt;/p&gt;
&lt;p style="font-size:11pt;font-family:Calibri;margin:0in;"&gt;Convencido da utilidade desta nova gera&amp;ccedil;&amp;atilde;o de tablets, era com expetativa que aguardava o Windows 8, em particular as vers&amp;otilde;es RT e tinha decidido que at&amp;eacute; ao final de 2012 compraria um tablet para utiliza&amp;ccedil;&amp;atilde;o pessoal. A expetativa compreendia as vertentes da usabilidade - em que convence - e tamb&amp;eacute;m do pre&amp;ccedil;o e disponibilidade.&lt;/p&gt;
&lt;p style="font-size:11pt;font-family:Calibri;margin:0in;"&gt;Como alguns saber&amp;atilde;o, gosto muito de fazer todo o terreno com o meu Discovery, e &amp;quot;desde sempre&amp;quot; que utilizo equipamentos m&amp;oacute;veis&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;para navega&amp;ccedil;&amp;atilde;o em fora de estrada. Comecei com PDAs PocketPC e Windows Mobile, com GPS externos por bluetooth, e com o OziExplorerCE, depois passei para o CompeGPS PocketLand, e mais recentemente adquiri o TwoNav. Na vertente PDA usei durante algum tempo o iMate Jasjar, pelo ecr&amp;atilde; VGA e pelo teclado, mas andava &amp;agrave; procura de um HTC Advantage a bom pre&amp;ccedil;o para ter uma solu&amp;ccedil;&amp;atilde;o com ecr&amp;atilde; maior e GPS incorporado. Nos &amp;uacute;ltimos tempos desenhava-se a ideia de em vez de gastar 150 a 200&amp;euro; num Advantage usado, comprar um tablet Android, o mais barato que tivesse GPS ou com Bluetooth, exclusivamente para usar com o TwoNav no jipe. &lt;/p&gt;
&lt;p style="font-size:11pt;font-family:Calibri;margin:0in;"&gt;Em meados de Dezembro, para validar um cen&amp;aacute;rio em termos de desenvolvimento, adquirimos um tablet Samsung de 7&amp;quot; e Android 4.0. N&amp;atilde;o lhe liguei nenhuma at&amp;eacute; ao &amp;uacute;ltimo fim de semana do ano em que o levei para casa para experimentar.&lt;/p&gt;
&lt;p style="font-size:11pt;font-family:Calibri;margin:0in;"&gt;N&amp;atilde;o vou dizer que foi uma epifania ou que vi a luz. Mas em 2 dias fiquei rendido ao conceito de tablet de 7&amp;quot; pela conveni&amp;ecirc;ncia, e mais uma vez as pequenitas avalizaram o equipamento, pela vertente de jogos (desde que tivesse o TempleRun a que estavam habituadas no iPad&amp;hellip;). No dia 31 encontrei o Jo&amp;atilde;o Cardoso online, e como sabia que ele tinha um Nexus 7 estive a partilhar a experi&amp;ecirc;ncia do fim de semana com ele e acabei convencido e a ir a correr comprar &amp;agrave; Fnac de Coimbra o &amp;uacute;ltimo Nexus 7 de 32Gb que tinham! Conseguia assim com 249&amp;euro; comprar um equipamento &amp;uacute;til no dia-a-dia, que podia utilizar no jipe e que serve para entreter as minhas filhas. &lt;/p&gt;
&lt;p style="font-size:11pt;font-family:Calibri;margin:0in;"&gt;A escolha no Nexus deveu-se &amp;agrave;s caracter&amp;iacute;sticas de hardware do equipamento e a ter na vers&amp;atilde;o de Android 4.2.1 a possibilidade de ter perfis de utilizador no equipamento, funcionalidade que s&amp;oacute; encontrava no Windows 8 e que o iPad n&amp;atilde;o inclui. A escolha ficou facilitada pela diferen&amp;ccedil;a de pre&amp;ccedil;o para o iPad Mini e para os poucos equipamentos Windows 8 RT dispon&amp;iacute;veis em Portugal &amp;agrave; data.&lt;/p&gt;
&lt;p style="font-size:11pt;font-family:Calibri;margin:0in;"&gt;4 dias depois estou satisfeito com o Nexus 7, conto na pr&amp;oacute;xima ida ao estrangeiro lev&amp;aacute;-lo em vez do iPad, e n&amp;atilde;o tenho problema em admitir que o Android 4.x em tablets me surpreendeu positivamente. No entanto, se as aplica&amp;ccedil;&amp;otilde;es em equipamentos Android correm t&amp;atilde;o bem quanto no iPad, &amp;eacute; um facto inquestion&amp;aacute;vel que o sistema operativo em si n&amp;atilde;o &amp;eacute; t&amp;atilde;o polido como o iOS, e que gestos standardizados para alternar entre aplica&amp;ccedil;&amp;otilde;es seriam bem-vindos. Al&amp;eacute;m disso, n&amp;atilde;o me lembro de alguma vez ter tido algum erro de uma aplica&amp;ccedil;&amp;atilde;o nativa no iPad 2 (que est&amp;aacute; com iOS), mas com o Nexus, a aplica&amp;ccedil;&amp;atilde;o de Settings j&amp;aacute; &amp;quot;rebentou&amp;quot; uma vez, e a aplica&amp;ccedil;&amp;atilde;o de rel&amp;oacute;gio do sistema operativo &amp;quot;rebenta&amp;quot; frequentemente.&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;Tamb&amp;eacute;m me chocou n&amp;atilde;o conseguir adicionar as minhas contas de Office 365 pessoal e da empresa, sem ter de indicar manualmente o endere&amp;ccedil;o do servidor - no Windows Phone 7 e no iPad essas defini&amp;ccedil;&amp;otilde;es s&amp;atilde;o recuperadas automaticamente, bem como tentar adicionar uma conta de email Live da minha filha, obter uma mensagem a dizer para aguardar, que o download come&amp;ccedil;aria em breve, e horas depois continuar na mesma, ate descobrir por uma pesquisa na internet, que h&amp;aacute; um setting que tinha de ser alterado para esse efeito. &lt;/p&gt;
&lt;p style="font-size:11pt;font-family:Calibri;margin:0in;"&gt;Antes que comecem a questionar se &amp;quot;this is the Alberto that I used to know&amp;quot;, sim, sim &amp;eacute; o mesmo! Acreditem que foi preciso uma abertura de esp&amp;iacute;rito muito maior para adoptar o Windows CE em 1999 e os seus derivados nos anos seguintes, em contraciclo com as op&amp;ccedil;&amp;otilde;es politicamente correctas da altura, como os PalmPilot ou o Apple Newton, e parafraseando uma frase muito batida h&amp;aacute; uns anos, sempre tentei seguir o mote de &amp;quot;n&amp;atilde;o negue &amp;agrave; partida uma ci&amp;ecirc;ncia que n&amp;atilde;o conhece&amp;quot;! A adop&amp;ccedil;&amp;atilde;o de um tablet Android n&amp;atilde;o representa para mim nenhuma viragem, simplesmente admito que pelas raz&amp;otilde;es apresentadas acima me pareceu a escolha mais acertada, e com a utiliza&amp;ccedil;&amp;atilde;o dessa plataforma poderei tomar decis&amp;otilde;es mais fundamentadas sobre a viabilidade da plataforma para o desenvolvimento de aplica&amp;ccedil;&amp;otilde;es profissionais, a par do que temos vindo a fazer com o iOS.&lt;/p&gt;
&lt;p style="font-size:11pt;font-family:Calibri;margin:0in;"&gt;Quanto ao desenvolvimento de aplica&amp;ccedil;&amp;otilde;es a t&amp;iacute;tulo pessoal, vou continuar focado no Windows 8 e Windows Phone 8. Como dizia algu&amp;eacute;m no Twitter, Objective C &amp;eacute; pior que Euskera (basco) e Java para mim s&amp;oacute; &amp;eacute; sin&amp;oacute;nimo de caf&amp;eacute; :)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1822066" width="1" height="1"&gt;</content><author><name>AlbertoSilva</name><uri>http://msmvps.com/members/AlbertoSilva/default.aspx</uri></author></entry><entry><title>Conversão de máquinas reais em VM - Experiência pessoal com final feliz</title><link rel="alternate" type="text/html" href="/blogs/albertosilva/archive/2012/12/29/convers-227-o-de-m-225-quinas-reais-em-vm-experi-234-ncia-pessoal-com-final-feliz.aspx" /><id>/blogs/albertosilva/archive/2012/12/29/convers-227-o-de-m-225-quinas-reais-em-vm-experi-234-ncia-pessoal-com-final-feliz.aspx</id><published>2012-12-29T11:45:00Z</published><updated>2012-12-29T11:45:00Z</updated><content type="html">&lt;p&gt;Sempre que troco de computador, para al&amp;eacute;m do processo de passagem de informa&amp;ccedil;&amp;atilde;o para o substituto, tenho por h&amp;aacute;bito virtualizar o antigo, salvaguardando alguma configura&amp;ccedil;&amp;atilde;o, ficheiro ou aplica&amp;ccedil;&amp;atilde;o que n&amp;atilde;o tenha migrado para o novo, seja por op&amp;ccedil;&amp;atilde;o, seja por esquecimento. Um exemplo &amp;eacute; a VM que tenho com uns 6 anos onde ainda tenho o Visual Studio 2003.&lt;/p&gt;
&lt;p&gt;Para o efeito costumo usar o &lt;a href="https://my.vmware.com/web/vmware/evalcenter?p=converter"&gt;VMWare Converter Standalone &lt;/a&gt;(gratuito)&amp;nbsp;- a minha prefer&amp;ecirc;ncia pelos produtos VMWare deriva da maior facilidade em mapear portas USB para as VM, em concreto para fazer debug para devices, raz&amp;atilde;o pela qual adquirimos licen&amp;ccedil;as de VMWare Workstation - que cria uma VM funcional a partir da m&amp;aacute;quina real em execu&amp;ccedil;&amp;atilde;o, o chamado Physical To Virtual (P2V). Abrindo essa VM no VMWare Player (gratuito) ou no VMWare Workstation podemos utiliz&amp;aacute;-la praticamente como se fosse na m&amp;aacute;quina real.&lt;/p&gt;
&lt;p&gt;O processo de cria&amp;ccedil;&amp;atilde;o das VM no entanto nem sempre &amp;eacute; trivial, pois o hardware virtualizado difere necessariamente da m&amp;aacute;quina f&amp;iacute;sica a partir a qual a VM foi criada, pelo que para minimizar a possibilidade da VM n&amp;atilde;o arrancar, h&amp;aacute; alguns cuidados a observar, como desinstalar o antiv&amp;iacute;rus, remover algum hardware do device manager como controladores RAID e outro hardware que n&amp;atilde;o constar&amp;aacute; na m&amp;aacute;quina vitualizada e parar servi&amp;ccedil;os Windows e aplica&amp;ccedil;&amp;otilde;es em execu&amp;ccedil;&amp;atilde;o. Tal como &amp;eacute; esperado, dada a diversidade de configura&amp;ccedil;&amp;otilde;es de hardware, n&amp;atilde;o h&amp;aacute; uma lista &amp;quot;completa&amp;quot; do que deve ser feito antes do P2V. Al&amp;eacute;m destes cuidados, ter em aten&amp;ccedil;&amp;atilde;o o espa&amp;ccedil;o ocupado pelas aplica&amp;ccedil;&amp;otilde;es e ficheiros, pois quanto menor for esse espa&amp;ccedil;o, mais r&amp;aacute;pido &amp;eacute; o processo de P2V e mais pequenos s&amp;atilde;o os discos &amp;quot;virtuais&amp;quot;. Um exemplo, tipicamente desinstalo o SQL Server e o Office, e removo as bases de dados, backups e ficheiros do Outlook, o que permite &amp;quot;poupar&amp;quot; umas dezenas de GB no disco. &lt;a href="http://blog.thefullcircle.com/2011/05/hyper-v-p2v-using-disk2vhd/"&gt;Esta p&amp;aacute;gina &lt;/a&gt;apesar de ser sobre o Disk2VHD, tem informa&amp;ccedil;&amp;atilde;o &amp;uacute;til sobre este processo independentemente da ferramenta de virtualiza&amp;ccedil;&amp;atilde;o.&lt;/p&gt;
&lt;p&gt;Apesar de toda esta teoria, desta vez tive uma dificuldade especial em converter o meu Tecra S11 para VM. A m&amp;aacute;quina tinha duas parti&amp;ccedil;&amp;otilde;es &amp;quot;utiliz&amp;aacute;veis&amp;quot; de origem, uma com o Windows 7 original, e outra onde tinha instalado o Windows 8 Pro. Al&amp;eacute;m destas parti&amp;ccedil;&amp;otilde;es, tinha outras duas, uma penso que com a informa&amp;ccedil;&amp;atilde;o de boot, e outra que assumo que tivesse os ficheiros de recupera&amp;ccedil;&amp;atilde;o da Toshiba.&lt;/p&gt;
&lt;p&gt;Como tal, apesar de s&amp;oacute; querer virtualizar a parti&amp;ccedil;&amp;atilde;o com Windows 7, tinha de virtualizar o disco todo, mas as diversas tentativas com o VMWare Converter resultaram sempre em erro na parte final da convers&amp;atilde;o. Apesar desse erro, o disco (.vmdk) e a informa&amp;ccedil;&amp;atilde;o da VM (.vmx) eram criados, mas sempre que tentava arrancar a VM com o VMWare Workstation 9 e escolhia o Windows 7, obtinha um BSOD (ecr&amp;atilde; azul) e o sistema operativo n&amp;atilde;o arrancava. Tentei start mode, automatic recovery, uma s&amp;eacute;rie de outras coisas, sem sucesso e de cada vez que voltava a fazer o P2V eliminava mais drivers mas sempre com o mesmo desfecho. Curiosidade: o Windows 8 corria na perfei&amp;ccedil;&amp;atilde;o na VM mas n&amp;atilde;o era o que eu pretendia...&lt;/p&gt;
&lt;p&gt;Dado que n&amp;atilde;o conseguia avan&amp;ccedil;ar por esta via, experimentei o Disk2VHD da SysInternals, que gerou o VHD que depois tentei abrir com o Hyper-V, mas sem sucesso, a VM nunca arrancava, dava logo um problema de boot. Experimentei &amp;quot;montar&amp;quot; o ISO do Windows 7 como CD e arrancar a partir deste para aceder &amp;agrave;s ferramentas de recupera&amp;ccedil;&amp;atilde;o, mas nunca consegui com os diversos comandos que testei (BCDBOOT.exe, BCDEDIT.exe, ...) que a VM arrancasse de todo, pelo que voltei ao VMWare Converter.&lt;/p&gt;
&lt;p&gt;Decidido a resolver o problema, capturei o ecr&amp;atilde; azul do arranque do Windows 7 e comecei a pesquisar na internet pelos c&amp;oacute;digos de erro apresentados. O c&amp;oacute;digo STOP: 0x0000007B denunciava um problema com o dispositivo de boot, que podia ser a falta de um driver, corrup&amp;ccedil;&amp;atilde;o ou um v&amp;iacute;rus de baixo-n&amp;iacute;vel... cruzando o erro com o VMWare, come&amp;ccedil;aram a aparecer coisas mais concretas, e &lt;a href="http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;amp;cmd=displayKC&amp;amp;externalId=1005208"&gt;esta p&amp;aacute;gina &lt;/a&gt;referia uma situa&amp;ccedil;&amp;atilde;o concreta que fazia sentido. No entanto, para aplicar a sugest&amp;atilde;o teria de ter uma VM com o mesmo sistema operativo (Windows 7 x64) de onde copiar um peda&amp;ccedil;o do registry, mas s&amp;oacute; tinha VMs com Windows 7 de 32 bit, que achei melhor n&amp;atilde;o utilizar pelos diferentes nomes nos respectivos drivers. Caso tivesse essa VM, bastaria a priori copiar o tal ramo do registry, import&amp;aacute;-lo para a minha m&amp;aacute;quina Windows 7 real, e voltar a correr o processo de P2V com o VMWare Converter e j&amp;aacute; n&amp;atilde;o seria esperado obter o tal erro que obtinha sempre na parte final da convers&amp;atilde;o. &lt;/p&gt;
&lt;p&gt;J&amp;aacute; mentalizado para a necessidade de criar uma VM com Windows 7 x64 para poder importar o tal ramo do registry, continuei com algumas pesquisas, fiz algumas experi&amp;ecirc;ncias que n&amp;atilde;o tiveram sucesso, at&amp;eacute; que encontrei &lt;a href="http://vwiki.co.uk/VMware_Converter#Registry_Hack"&gt;esta p&amp;aacute;gina &lt;/a&gt;que mencionava um registry hack, que a n&amp;atilde;o ser suficiente, teria de ser complementado com a edi&amp;ccedil;&amp;atilde;o do ficheiro da VM (.vmx). Dado que o referido hack ao registry n&amp;atilde;o produziu efeito, fiz as altera&amp;ccedil;&amp;otilde;es sugeridas ao ficheiro .VMX e reiniciei a VM. Certamente por causa dessa altera&amp;ccedil;&amp;atilde;o a VM demorou muito mais tempo a arrancar do que o esperado, mas ao fim de uns minutos, finalmente arrancou!!! &lt;/p&gt;
&lt;p&gt;Em resumo, ao fim de 2 ou 3 semanas encontrei uma solu&amp;ccedil;&amp;atilde;o que podia ter aplicado logo que a primeira convers&amp;atilde;o falhou, raz&amp;atilde;o pela qual publico este post, que espero que possa revelar-se &amp;uacute;til para outros.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1821763" width="1" height="1"&gt;</content><author><name>AlbertoSilva</name><uri>http://msmvps.com/members/AlbertoSilva/default.aspx</uri></author></entry><entry><title>10º título consecutivo de MVP!</title><link rel="alternate" type="text/html" href="/blogs/albertosilva/archive/2012/10/01/10-186-t-237-tulo-consecutivo-de-mvp.aspx" /><id>/blogs/albertosilva/archive/2012/10/01/10-186-t-237-tulo-consecutivo-de-mvp.aspx</id><published>2012-10-01T16:42:54Z</published><updated>2012-10-01T16:42:54Z</updated><content type="html">&lt;p&gt;É com muita alegria que partilho que acabei de receber o meu 10º título de MVP atribuído pela Microsoft, agora na categoria Windows Embedded!&lt;/p&gt;  &lt;p&gt;Nem parece que já passaram 9 anos sobre o convite feito pelo Nuno Costa, na altura em que a .NET Compact Framework 1.0 dava os primeiros passos com o lançamento do Visual Studio 2003, tendo tido a oportunidade ao longo destes anos de participar em vários eventos enquanto orador e em comunidade de discussão online sempre com o tema do papel que as aplicações móveis podem ter nas empresas e as mais valias em utilizar as sucessivas versões da .NET Compact Framework e do Windows Mobile.&lt;/p&gt;  &lt;p&gt;Passados estes 9 anos, continuo ligado profissionalmente ao desenvolvimento de aplicações para dispositivos móveis, com a diferença do foco já não se limitar à oferta da Microsoft e se ter alargado às plataformas de consumo da Apple e da Google. O meu objectivo para os próximos 12 meses é de partilhar as minhas experiências em torno destes tema e continuar disponível para em espaços de discussão ou directamente discutir questões pertinentes ao desenvolvimento de aplicações LOB para dispositivos móveis.&lt;/p&gt;  &lt;p&gt;Obrigado a todos que me têm apoiado ao longo desta quase-década e assim me têm permitido ver este meu trabalho reconhecido pela Microsoft e um obrigado especial à minha MVP Lead, Cristina Herrero &lt;img style="border-bottom-style:none;border-left-style:none;border-top-style:none;border-right-style:none;" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/albertosilva.metablogapi/6663.wlEmoticon_2D00_smile_5F00_5ADA8FD3.png" /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1817613" width="1" height="1"&gt;</content><author><name>AlbertoSilva</name><uri>http://msmvps.com/members/AlbertoSilva/default.aspx</uri></author><category term="Novidades" scheme="http://msmvps.com/blogs/albertosilva/archive/tags/Novidades/default.aspx" /></entry><entry><title>Divisão de inteiros em VB.net vs. C#</title><link rel="alternate" type="text/html" href="/blogs/albertosilva/archive/2012/07/10/divis-227-o-de-inteiros-em-vb-net-vs-c.aspx" /><id>/blogs/albertosilva/archive/2012/07/10/divis-227-o-de-inteiros-em-vb-net-vs-c.aspx</id><published>2012-07-10T16:58:06Z</published><updated>2012-07-10T16:58:06Z</updated><content type="html">&lt;p&gt;Imaginem a seguinte instrução em VB.net:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font face="Consolas"&gt;Dim x as integer = 5 / 20 * 100&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;E em C#:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font face="Consolas"&gt;int x = 5 / 20 * 100;&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Seria de esperar que ambas atribuíssem o mesmo resultado a &lt;strong&gt;&lt;em&gt;x&lt;/em&gt;&lt;/strong&gt;, no entanto verifica-se que em VB.net é atribuído a&lt;strong&gt;&lt;em&gt; x&lt;/em&gt;&lt;/strong&gt; o valor esperado de 25, mas em C#, &lt;strong&gt;&lt;em&gt;x&lt;/em&gt;&lt;/strong&gt; fica com o valor zero.&lt;/p&gt;  &lt;p&gt;A diferença de resultados resulta do C# reduzir de imediato o resultado da divisão 5 / 20 a um inteiro, de onde resulta o valor 0 que absorve a multiplicação por 100.&lt;/p&gt;  &lt;p&gt;Se mudarmos em C# para:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font face="Consolas"&gt;int x = 5M / 20M * 100;&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font face="Consolas"&gt;int y = 5 / 20M * 100;&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font face="Consolas"&gt;int z = 5M / 20 * 100;&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Qualquer uma das variáveis x, y e z fica com o valor 25. Da mesma forma, no seguinte caso…&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font face="Consolas"&gt;int a = 5;&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font face="Consolas"&gt;int b = 20;&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font face="Consolas"&gt;int c = a / b * 100;&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;…&lt;strong&gt;&lt;em&gt;c&lt;/em&gt;&lt;/strong&gt; fica de novo com o valor zero, será necessário algo como…&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font face="Consolas"&gt;int c = (int)((decimal)a / b * 100);&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;…para que c fique com o valor esperado de 25.&lt;/p&gt;  &lt;p&gt;Mais do que alimentar guerras VB.net/C#, espero que este post sirva para alertar deste comportamento que não podemos classificar de incorrecto por parte do C# mas que pode provocar resultados inesperados&amp;#160; e nem sempre fáceis de detectar…&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1812649" width="1" height="1"&gt;</content><author><name>AlbertoSilva</name><uri>http://msmvps.com/members/AlbertoSilva/default.aspx</uri></author><category term="Desenvolvimento (.net CF)" scheme="http://msmvps.com/blogs/albertosilva/archive/tags/Desenvolvimento+_2800_.net+CF_2900_/default.aspx" /></entry><entry><title>Época de inventários &amp; balanços</title><link rel="alternate" type="text/html" href="/blogs/albertosilva/archive/2012/01/01/201-poca-de-invent-225-rios-amp-balan-231-os.aspx" /><id>/blogs/albertosilva/archive/2012/01/01/201-poca-de-invent-225-rios-amp-balan-231-os.aspx</id><published>2012-01-01T23:17:52Z</published><updated>2012-01-01T23:17:52Z</updated><content type="html">&lt;p&gt;Mais uma vez fui surpreendido pelo final de mais um ano, é difícil acreditar que já passou mais um ano, em que tanta coisa ficou por concretizar!&lt;/p&gt;  &lt;p&gt;A velocidade com que o ano passou está intimamente ligada à quantidade de trabalho que fomos mantendo na empresa – parte to qual ainda transita para 2012 – e que comprometeu outras coisas que gostava de ter feito em 2011, como aplicações ‘pessoais’ para Windows Phone 7, brincar com o Netduino, fazer mais (leia-se, algum…) TT com o Discovery e ter mais tempo para as minhas meninas.&lt;/p&gt;  &lt;p&gt;Do ponto de vista da &lt;a href="http://www.moving2u.pt" target="_blank"&gt;moving2u&lt;/a&gt; estamos na recta final de entrega do maior projecto que desenvolvemos até hoje, que começámos a desenvolver no final de 2010 e que brevemente estará nas mãos de até 3000 utilizadores na Península Ibérica, colaboradores de uma empresa espanhola que nos confiou tal desafio. Paralelamente fomos desenvolvendo outros projectos específicos, uns mais complexos, como a interessante solução de logística que estamos a ultimar, outros mais simples mas não menos satisfatórios, como a aplicação para controlo de entradas para a &lt;a href="http://www.last2ticket.com/" target="_blank"&gt;Last2Ticket&lt;/a&gt;. Demos ainda neste último trimestre os primeiros passos num projecto que visa uma das mais importantes cadeias retalhistas em Portugal. A par destes projectos mais específicos, o nosso produto bandeira, o m2uMobileSales, continuou o seu percurso no território nacional e começa a ser promovido em Angola, Cabo Verde e Moçambique. O elo entre todos estes projectos é a plataforma onde todos correm – e continuarão a correr durante anos – vista por muitos e pelo mercado como ‘moribunda’, mas que tecnicamente, seja do ponto de vista do desenvolvimento, das funcionalidades expostas aos utilizadores e da gestão está num nível diferentes das plataformas móveis de consumo da moda. Estamos a falar (como é óbvio para quem segue o meu blog) do Windows Mobile, agora designado de Windows Embedded Handheld 6.5.&lt;/p&gt;  &lt;p&gt;Não obstante o Windows Mobile e a .NET Compact Framework, combinação em que apostámos desde a criação da empresa em 2003, nos ter garantido um volume interessante de trabalho em 2011, “parar é morrer” e não nos podemos dar ao luxo de ignorarmos outras plataformas, que nascendo do mercado do consumo, conquistam um lugar cada vez mais importante nas empresas, pelo que em 2011 encetámos alguns passos no sentido de preparar o maior desafio que teremos em 2012, o abarcar de novas plataformas móveis e de desenvolvimento. É um caminho que nos levantará grandes desafios a diferentes níveis, mas a crer pela excitação na empresa decorrente dessa decisão, posso antecipar que com esforço e dedicação os ultrapassaremos!&lt;/p&gt;  &lt;p&gt;Vítima do esforço que a empresa me tem exigido, este blog e outras actividades têm sido relegadas para um plano secundário mas não esquecido &lt;img style="border-bottom-style:none;border-left-style:none;border-top-style:none;border-right-style:none;" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/albertosilva.metablogapi/5611.wlEmoticon_2D00_smile_5F00_7C504161.png" /&gt;&lt;/p&gt;  &lt;p&gt;Desejo a todos um óptimo ano de 2012, que recompense aqueles que não baixam os braços, e que possamos estar daqui a um ano a trocar balanços positivos!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1804282" width="1" height="1"&gt;</content><author><name>AlbertoSilva</name><uri>http://msmvps.com/members/AlbertoSilva/default.aspx</uri></author><category term="Novidades" scheme="http://msmvps.com/blogs/albertosilva/archive/tags/Novidades/default.aspx" /><category term="moving2u" scheme="http://msmvps.com/blogs/albertosilva/archive/tags/moving2u/default.aspx" /></entry><entry><title>Heart-beat e de novo MVP!</title><link rel="alternate" type="text/html" href="/blogs/albertosilva/archive/2011/10/05/heart-beat-e-de-novo-mvp.aspx" /><id>/blogs/albertosilva/archive/2011/10/05/heart-beat-e-de-novo-mvp.aspx</id><published>2011-10-05T12:24:49Z</published><updated>2011-10-05T12:24:49Z</updated><content type="html">&lt;p&gt;Foi com satisfação que recebi no passado dia 1 de Outubro o título de MVP concedido pela Microsoft. É a 9ª vez que o recebo desde 2003, e tal como nos anos mais recentes, com a especialidade em “Device Application Development”, que é como quem diz, desenvolvimento de aplicações para dispositivos móveis com sistema operativo Windows CE/Windows Mobile/Windows Embedded Enterprise Handhelds.&lt;/p&gt;  &lt;p&gt;Já há meses que não tenho actualizado este blog, o trabalho na moving2u tem exigido uma atenção suplementar nos últimos meses, o que em paralelo com as exigências da minha vida pessoal leva a que alguma coisa vá ficando para trás. Adicionalmente, a àrea em que me tenho concentrado profissionalmente e na qual tenho sido reconhecido pela Microsoft – o desenvolvimento de aplicações para os sistemas operativos acima mencionados, utilizando a .NET Compact Framework 3.5 – não tem sido pródiga em novidades por parte da Microsoft. Em concreto, os únicos anúncios relevantes neste campo nos últimos 12-18 meses foram a passagem do que até aí conhecíamos como Windows Mobile 6.5.3 para a alçada da àrea de Embedded, com a actualização do nome do sistema operativo para Windows Embedded [Enterprise] Handheld, e o anúncio recente da disponibilização daquela que se esperava ser a próxima versão da Sync Framework, a 4.0 que em beta se tinha chamado 3.0 e que estava em CTP há um ano, sob a forma de &lt;a href="http://blogs.msdn.com/b/sync/archive/2011/09/10/sync-framework-toolkit-now-available-for-download.aspx" target="_blank"&gt;Sync Framework Toolkit&lt;/a&gt; com código-fonte disponível e suporte para .NET CF, mas infelizmente sem mecanismos de change tracking ao nível da base de dados cliente. &lt;/p&gt;  &lt;p&gt;Se por parte da Microsoft este campo da mobilidade não tem sido fértil em novidades, felizmente por parte de outras entidades o cenário é diferente, e temos assistido ao lançamento de equipamentos novos e actualizações a correr o Windows Mobile 6.5.3 e WEEH 6.5.3, que são hoje a única opção para aqueles que necessitam de equipamentos com esta plataforma, à medida que os operadores, lojas e fabricantes foram escoando os seus stocks de equipamentos de consumo com Windows Mobile. Equipamentos como o &lt;a href="http://www.motorola.com/web/Business/microsites/XL-PT/ES400/index.html" target="_blank"&gt;Motorola ES400&lt;/a&gt;, com um índice de robustez superior aos de um equipamento de consumo, ecrã VGA, teclado frontal, 3G/Wifi/BT/GPS de série, descodificação eficiente de códigos de barras com a câmara fotográfica e integração com os SDK da Motorola, opções de bateria extendida, tudo isto por preços a rondar os 500€, têm tido uma grande procura:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/albertosilva.metablogapi/3441.es400_5F00_front_5F00_4D7294F1.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="es400_front" border="0" alt="es400_front" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/albertosilva.metablogapi/7077.es400_5F00_front_5F00_thumb_5F00_4FEBA0E2.png" width="242" height="501" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Paralelamente, em termos de ferramentas de desenvolvimento, empresas como a &lt;a href="http://www.resco.net/developer/mobileformstoolkit/" target="_blank"&gt;Resco&lt;/a&gt; têm mantido e lançado novas versões dos seus produtos para empresas que desenvolvem para .NET Compact Framework:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.resco.net/developer/mobileformstoolkit/" target="_blank"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/albertosilva.metablogapi/3666.image_5F00_2C02C988.png" width="964" height="224" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Muitos perguntar-se-ão, “mas para quê estes lançamentos para uma plalaforma declarada morta por muita gente?”. Um estudo recente da Gartner continua a eleger o Windows Mobile e as ferramentas de desenvolvimento associadas (.NET CF 3.5 e VS2008) como a melhor escolha em termos de desenvolvimento de aplicações do tipo Line-of-Business (LoB) para equipamentos móveis neste campeonato que decorre em paralelo com o outro campeonato, o dos smartphones de consumo, onde os protagonistas são outros. Pessoalmente, em termos do que é a minha actividade na moving2u, continuamos com um volume significativo de projectos em curso e no curto prazo a assentar nesta plataforma. Se desprezamos as outras plataformas móveis, lançadas para o mercado de consumo, mas com uma presença cada vez maior nalguns sectores de actividiade? &lt;strong&gt;&lt;em&gt;Claro que não!&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1800771" width="1" height="1"&gt;</content><author><name>AlbertoSilva</name><uri>http://msmvps.com/members/AlbertoSilva/default.aspx</uri></author><category term="Novidades" scheme="http://msmvps.com/blogs/albertosilva/archive/tags/Novidades/default.aspx" /></entry><entry><title>A moving2u está a contratar (desenvolvimento, Coimbra, m/f)</title><link rel="alternate" type="text/html" href="/blogs/albertosilva/archive/2011/03/30/a-moving2u-est-225-a-contratar-desenvolvimento-coimbra-m-f.aspx" /><id>/blogs/albertosilva/archive/2011/03/30/a-moving2u-est-225-a-contratar-desenvolvimento-coimbra-m-f.aspx</id><published>2011-03-30T20:35:02Z</published><updated>2011-03-30T20:35:02Z</updated><content type="html">&lt;p&gt;A moving2u é uma empresa de Coimbra que tem como principal actividade o desenvolvimento de aplicações de índole profissional para equipamentos móveis, contando quer com soluções chave-na-mão, quer soluções desenvolvidas por medida.&lt;/p&gt;  &lt;p&gt;Para admissão no curto prazo no seu departamento de I&amp;amp;D em Coimbra, procura um(a) profissional com o bons conhecimentos de desenvolvimento em .NET (C#), exigente consigo próprio e com vontade e predisposição para testar e adoptar novas tecnologias.&lt;/p&gt;  &lt;p&gt;Dada a dificuldade em avaliar um profissional nesta àrea com uma mera entrevista, os candidatos serão desafiados a completarem um pequeno projecto, que abarca algumas das àreas que queremos passar a integrar no nosso portfolio.&lt;/p&gt;  &lt;p&gt;O desafio passará pelo desenvolvimento em C# de um conjunto de pequenas aplicações (aplicação web em ASP.NET ou ASP.NET MVC ou Silverlight, web services ou WCF, e cliente em .NET Compact Framework, Windows Phone 7, Monodroid ou Monotouch), com a particularidade de as aplicações web correrem em Azure. As pequenas aplicações não têm nenhuma utilidade prática que não seja demonstrar a ligação entre os diferentes módulos da solução (aplicação web com 2 páginas, web services com 2 métodos, aplicação cliente com 2 ecrãs, base de dados com 2 tabelas). Serão disponibilizados mais detalhes e links para as diferentes ferramentas necessárias aos interessados.&lt;/p&gt;  &lt;p&gt;Não temos prazos para a conclusão do desafio, mas gostávamos de avançar com o processo de selecção entre Maio e Junho.&lt;/p&gt;  &lt;p&gt;Compreendemos que muitos profissionais potencialmente interessados que leiam este post não estejam familiarizado com estas tecnologias, e não se sintam confortáveis com aceitarem um desafio deste tipo. Respeitamos, mas declaradamente não é esse o perfil da pessoa que procuramos. &lt;/p&gt;  &lt;p&gt;As candidaturas deverão ser enviadas para o endereço alberto.silva#moving2u.pt (substituír o # pela @ ) com carta de apresentação e CV.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;font size="1"&gt;(Nota: endereço de email corrigido)&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1790909" width="1" height="1"&gt;</content><author><name>AlbertoSilva</name><uri>http://msmvps.com/members/AlbertoSilva/default.aspx</uri></author><category term="moving2u" scheme="http://msmvps.com/blogs/albertosilva/archive/tags/moving2u/default.aspx" /></entry><entry><title>Como descobrir em que base de dados se encontra um objecto do qual sabemos o nome? (SQL Server)</title><link rel="alternate" type="text/html" href="/blogs/albertosilva/archive/2011/03/10/como-descobrir-em-que-base-de-dados-se-encontra-um-objecto-do-qual-sabemos-o-nome-sql-server.aspx" /><id>/blogs/albertosilva/archive/2011/03/10/como-descobrir-em-que-base-de-dados-se-encontra-um-objecto-do-qual-sabemos-o-nome-sql-server.aspx</id><published>2011-03-10T16:40:00Z</published><updated>2011-03-10T16:40:00Z</updated><content type="html">&lt;p&gt;Há tempos criei um objecto a partir de um script T-SQL no SQL Server Management Console, numa janela de &amp;#39;New Query&amp;#39;. Na altura não reparei que essa janela não estava a apontar para a base de dados pretendida, e agora, semanas depois, não conseguia descobrir a que base de dados daquela instância teria ido parar.&lt;/p&gt;  &lt;p&gt;A resolução foi simples, utilizando uma stored procedure interna não documenta do SQL Server, a sp_MSforeachdb, corri o seguinte comando...&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3" face="Courier New"&gt;&lt;strong&gt;Exec sp_MSforeachdb &amp;#39;Select * From ?..sysobjects where name = &amp;#39;&amp;#39;nome do meu objecto&amp;#39;&amp;#39; &amp;#39;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;...e depois foi só procurar no meio dos resultados! Encontrado um resultado, o output não exibia o nome da base de dados onde se encontrava... uma pequena alteração, et voila! &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;font size="3" face="Courier New"&gt;&lt;strong&gt;Exec sp_MSforeachdb &amp;#39;Select &amp;#39;&amp;#39;?&amp;#39;&amp;#39;, * From ?..sysobjects where name = &amp;#39;&amp;#39;nome do meu objecto&amp;#39;&amp;#39; &amp;#39;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Também se pode utilizar o operador LIKE caso se saiba apenas uma parte do nome a procurar, podendo filtrar adicionalmente por campos da sysobjects para por ex. restringir os resultados a um tipo de objectos.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1789672" width="1" height="1"&gt;</content><author><name>AlbertoSilva</name><uri>http://msmvps.com/members/AlbertoSilva/default.aspx</uri></author><category term="SqlServer" scheme="http://msmvps.com/blogs/albertosilva/archive/tags/SqlServer/default.aspx" /></entry><entry><title>A moving2u está a contratar</title><link rel="alternate" type="text/html" href="/blogs/albertosilva/archive/2011/01/15/a-moving2u-est-225-a-contratar.aspx" /><id>/blogs/albertosilva/archive/2011/01/15/a-moving2u-est-225-a-contratar.aspx</id><published>2011-01-15T19:21:00Z</published><updated>2011-01-15T19:21:00Z</updated><content type="html">&lt;p&gt;A moving2u &amp;eacute; uma empresa de Coimbra&amp;nbsp;que tem como principal actividade o desenvolvimento de&amp;nbsp;aplica&amp;ccedil;&amp;otilde;es de &amp;iacute;ndole profissional para equipamentos m&amp;oacute;veis, contando quer com solu&amp;ccedil;&amp;otilde;es chave-na-m&amp;atilde;o, quer solu&amp;ccedil;&amp;otilde;es desenvolvidas por medida.&lt;/p&gt;
&lt;p&gt;Para admiss&amp;atilde;o no curto prazo no seu departamento de suporte &amp;amp; implementa&amp;ccedil;&amp;otilde;es em Taveiro, Coimbra, procura um(a) profissional com o seguinte perfil: boa capacidade de interac&amp;ccedil;&amp;atilde;o com clientes seja por contacto directo, telef&amp;oacute;nico ou escrito, sensibilidade a temas relacionados com a implementa&amp;ccedil;&amp;atilde;o de software de gest&amp;atilde;o, sentido cr&amp;iacute;tico na busca da melhor configura&amp;ccedil;&amp;atilde;o que se ajusta ao cen&amp;aacute;rio em causa, capacidade de organiza&amp;ccedil;&amp;atilde;o e conhecimentos de inform&amp;aacute;tica que compreendam a utiliza&amp;ccedil;&amp;atilde;o do SQL Server. &lt;/p&gt;
&lt;p&gt;Prefer&amp;ecirc;ncia: Experi&amp;ecirc;ncia de implementa&amp;ccedil;&amp;atilde;o de aplica&amp;ccedil;&amp;otilde;es de gest&amp;atilde;o, frequ&amp;ecirc;ncia anterior de curso de forma&amp;ccedil;&amp;atilde;o de formadores, conhecimentos de sistemas operativos servidores Windows, disponibilidade para desloca&amp;ccedil;&amp;otilde;es no territ&amp;oacute;rio nacional, carta de condu&amp;ccedil;&amp;atilde;o&lt;/p&gt;
&lt;p&gt;As candidaturas dever&amp;atilde;o ser enviadas para o endere&amp;ccedil;o rh#moving2u.pt (substitu&amp;iacute;r o # pela @ ) com carta de apresenta&amp;ccedil;&amp;atilde;o e CV.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1786481" width="1" height="1"&gt;</content><author><name>AlbertoSilva</name><uri>http://msmvps.com/members/AlbertoSilva/default.aspx</uri></author></entry><entry><title>Remoção de zeros não significativos em valores decimais em .NET</title><link rel="alternate" type="text/html" href="/blogs/albertosilva/archive/2010/11/19/remo-231-227-o-de-zeros-n-227-o-significativos-em-valores-decimais-em-net.aspx" /><id>/blogs/albertosilva/archive/2010/11/19/remo-231-227-o-de-zeros-n-227-o-significativos-em-valores-decimais-em-net.aspx</id><published>2010-11-19T17:32:25Z</published><updated>2010-11-19T17:32:25Z</updated><content type="html">&lt;p&gt;Quando utilizamos valores do tipo decimal que vêm do SQL Server, o nº de casas decimais definido no SQL Server acompanha o valor nas variáveis de tipo de dados Decimal, o que muitas vezes não é conveniente. Se é um facto que a formatação de valores numéricos para string permite dar conta desta situação, utilizando por exemplo a máscara de formatação 0.#####, hoje necessitei de remover os zeros não significativos à direita do ponto decimal de uma variável do tipo decimal. Como não encontrei feito aquilo que pretendia, criei o seguinte extension method:&lt;/p&gt;  &lt;pre class="code"&gt;&lt;span style="color:blue;"&gt;public static decimal &lt;/span&gt;RemoveTraillingZeros(&lt;span style="color:blue;"&gt;this decimal &lt;/span&gt;number)
{
    &lt;span style="color:blue;"&gt;return decimal&lt;/span&gt;.Parse(number.ToString(&lt;span style="color:#a31515;"&gt;&amp;quot;0.#######&amp;quot;&lt;/span&gt;, &lt;span style="color:blue;"&gt;new &lt;/span&gt;System.Globalization.&lt;span style="color:#2b91af;"&gt;CultureInfo&lt;/span&gt;(&lt;span style="color:#a31515;"&gt;&amp;quot;en-US&amp;quot;&lt;/span&gt;)), &lt;span style="color:blue;"&gt;new &lt;/span&gt;System.Globalization.&lt;span style="color:#2b91af;"&gt;CultureInfo&lt;/span&gt;(&lt;span style="color:#a31515;"&gt;&amp;quot;en-US&amp;quot;&lt;/span&gt;));
}&lt;/pre&gt;


&lt;p&gt;A opção pela cultura en-US não influencia o resultado, o importante é que a conversão em string e de novo em decimal seja feita sobre a mesma cultura para evitar problemas… culturais!&lt;/p&gt;

&lt;p&gt;Para quem necessitar de fazer a mesma operação mas a nível do SQL Server, &lt;a href="http://www.kodyaz.com/articles/t-sql-function-remove-trailing-zeros-in-tsql.aspx"&gt;há UDFs na internet&lt;/a&gt; que o permitem fazer.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1782621" width="1" height="1"&gt;</content><author><name>AlbertoSilva</name><uri>http://msmvps.com/members/AlbertoSilva/default.aspx</uri></author><category term="Desenvolvimento (.net CF)" scheme="http://msmvps.com/blogs/albertosilva/archive/tags/Desenvolvimento+_2800_.net+CF_2900_/default.aspx" /></entry><entry><title>Pergunta: Dúvidas sobre Windows Phone 7 e compatibilidade de aplicações antigas</title><link rel="alternate" type="text/html" href="/blogs/albertosilva/archive/2010/11/10/pergunta-d-250-vidas-sobre-windows-phone-7-e-compatibilidade-de-aplica-231-245-es-antigas.aspx" /><id>/blogs/albertosilva/archive/2010/11/10/pergunta-d-250-vidas-sobre-windows-phone-7-e-compatibilidade-de-aplica-231-245-es-antigas.aspx</id><published>2010-11-10T19:18:03Z</published><updated>2010-11-10T19:18:03Z</updated><content type="html">&lt;p&gt;Recebi a seguinte mensagem de um visitante deste blog, que espelha muitas das preocupações de empresas que desenvolvem para Windows Mobile, que tomo a liberdade de transcrever:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Com o lançamento do Windows Phone 7, tanto quanto tenho lido em blogs, o SQL SERVER COMPACT EDITION vai desaparecer certo? O meu problema é o seguinte, a empresa para a qual trabalho desenvolve software que usa bd em sql server ce, e é desenvolvido em VS 2005. A minha duvida é se voce sabe se o projecto será compativel no Windows Phone 7 ou se há alguma maneira de migrar, ou tendo em conta que o WP7 assenta em silverlight, a unica hipotese é desenvolver a solução de raiz??&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;A minha outra duvida é será que a Microsoft apesar de lançar o WP7, irá manter a venda de Windows Mobile 6.5 ? de modo a continuar a dar suporte e assistência às milhares de aplicações que existirão em todo o mundo?&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;Não sei se me pode ajudar, mas como sou leitor assíduo do seu blog, junto lhe envio as minhas preocupações, que de momento me causam grandes dores de cabeça :) Na expectativa que me possa transmitir alguma informação adicional&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Começando pelo fim, o Windows Mobile 6.5 não morre! A Microsoft anunciou há meses – publiquei um post dobre o assunto na altura – o Windows Embedded Handheld como a nova incarnação do que actualmente conhecemos como Windows Mobile. Esse ‘novo’ sistema operativo, que a Motorola já começou a adoptar e que outros fabricantes adoptarão, tem já um roadmap conhecido, que prevê uma evolução futura baseada em CE 7.0, mantendo sempre compatibilidade com a .NET Compact Framework 3.5, o SQL Server CE 3.5, continuando para já a exigir o VS2008 para desenvolvimento. É um facto que os fabricantes mais ‘comerciais’ como a HTC não venham a adoptar este sistema operativo, mas por ex., com os preços dos novos Motorola ES400 a descer dos 600€, não há razão para as empresas não adoptarem equipamentos com fiabilidade e robustez acrescida face aos equipamentos de consumo. &lt;/p&gt;  &lt;p&gt;Continuando no tema do desenvolvimento, as aplicações actualmente feitas para .NET CF 3.5 não correm de todo nos equipamentos Windows Phone 7. A boa notícia é que projectos bem estruturados em termos de separação de lógica de negócio, acesso a dados e apresentação facilitam a migração e/ou partilha de código entre projectos para as duas plataformas (nota: julgo que as class library a partilhar terão de ser desenvolvidas no VS2008 para .NET CF 3.5).&lt;/p&gt;  &lt;p&gt;Para terminar, o SQL Server Compact Edition não desaparece! Para além de ter sido anunciado o seu suporte alargado do lado do PC, incluíndo suporte para projectos ASP.net, que não é o que interessa para a questão, o SQL Server Compact Edition estará presente nos Windows Phone 7, simplesmente não está acessível aos programadores nesta primeira versão do Windows Phone 7 e respectivas ferramentas de desenvolvimento. Desconhece-se qual a forma como será exposto, admitindo que venha a sê-lo.&lt;/p&gt;  &lt;p&gt;Espero ter respondido ao autor da mensagem, qualquer questão pf. usem os comentários.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1782058" width="1" height="1"&gt;</content><author><name>AlbertoSilva</name><uri>http://msmvps.com/members/AlbertoSilva/default.aspx</uri></author><category term="Desenvolvimento (.net CF)" scheme="http://msmvps.com/blogs/albertosilva/archive/tags/Desenvolvimento+_2800_.net+CF_2900_/default.aspx" /><category term="Desenvolvimento (SQL Server CE)" scheme="http://msmvps.com/blogs/albertosilva/archive/tags/Desenvolvimento+_2800_SQL+Server+CE_2900_/default.aspx" /><category term="MSDN" scheme="http://msmvps.com/blogs/albertosilva/archive/tags/MSDN/default.aspx" /><category term="WP7dev" scheme="http://msmvps.com/blogs/albertosilva/archive/tags/WP7dev/default.aspx" /></entry><entry><title>Windows Phone 7: Experiência para programadores, XLI</title><link rel="alternate" type="text/html" href="/blogs/albertosilva/archive/2010/10/26/windows-phone-7-experi-234-ncia-para-programadores-xli.aspx" /><id>/blogs/albertosilva/archive/2010/10/26/windows-phone-7-experi-234-ncia-para-programadores-xli.aspx</id><published>2010-10-26T21:06:53Z</published><updated>2010-10-26T21:06:53Z</updated><content type="html">&lt;p&gt;&lt;strong&gt;Windows Phone Developer Tools October 2010 Update      &lt;br /&gt;&lt;/strong&gt;Inclui ferramenta que detecta as capacidades do equipamento que uma aplicação utiliza, tal como a ferramenta da Microsoft faz quando se propõe uma app para o marketplace, outra para facilitar a ligação a um equipamento quando o cliente Zine não está a correr e ainda uma actualização do controlo Silverlight para os Bing Maps     &lt;br /&gt;&lt;a title="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=49b9d0c5-6597-4313-912a-f0cca9c7d277&amp;amp;displaylang=en" href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=49b9d0c5-6597-4313-912a-f0cca9c7d277&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/en/details.aspx?FamilyID=49b9d0c5-6597-4313-912a-f0cca9c7d277&amp;amp;displaylang=en&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;How to: Use the Windows Phone Capability Detection Tool &lt;/strong&gt;(esta é uma das ferramentas da actualização referida no link anterior)     &lt;br /&gt;&lt;a title="http://msdn.microsoft.com/en-us/library/gg180730(v=VS.92).aspx" href="http://msdn.microsoft.com/en-us/library/gg180730(v=VS.92).aspx"&gt;http://msdn.microsoft.com/en-us/library/gg180730(v=VS.92).aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Designing for Windows Phone 7      &lt;br /&gt;&lt;/strong&gt;&lt;a href="http://www.uxarray.com/2010/10/08/design-for-wp/"&gt;http://www.uxarray.com/2010/10/08/design-for-wp/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Paging WCF Ria Services entities in Model-View-ViewModel applications &lt;/strong&gt;(não é específico para WP7)     &lt;br /&gt;&lt;a href="http://www.silverlightshow.net/items/Paging-WCF-Ria-Services-entities-in-Model-View-ViewModel-applications.aspx"&gt;http://www.silverlightshow.net/items/Paging-WCF-Ria-Services-entities-in-Model-View-ViewModel-applications.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Windows Phone 7 Custom Message Box      &lt;br /&gt;&lt;/strong&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/tomershamam/archive/2010/10/19/windows-phone-7-custom-message-box.aspx"&gt;http://blogs.microsoft.co.il/blogs/tomershamam/archive/2010/10/19/windows-phone-7-custom-message-box.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;WP7 Don’t give false impressions&lt;/strong&gt; (questão interessante, mostra nos comentários como detectar se a aplicação está a correr no emulador)     &lt;br /&gt;&lt;a href="http://mikehole.com/2010/10/21/wp7-dont-give-false-impressions/"&gt;http://mikehole.com/2010/10/21/wp7-dont-give-false-impressions/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Windows Phone 7 Developer Resources &lt;/strong&gt;(mais um!)     &lt;br /&gt;&lt;a title="http://www.jeffblankenburg.com/page/Windows-Phone-7-Resources.aspx" href="http://www.jeffblankenburg.com/page/Windows-Phone-7-Resources.aspx"&gt;http://www.jeffblankenburg.com/page/Windows-Phone-7-Resources.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;How to capture audio from your microphone in WP7&amp;#160; &lt;/strong&gt;(mais um exemplo de utilização de recursos XNA numa aplicação silverlight…)     &lt;br /&gt;&lt;a title="http://devlicio.us/blogs/derik_whittaker/archive/2010/10/22/how-to-capture-audio-from-your-microphone-in-wp7.aspx" href="http://devlicio.us/blogs/derik_whittaker/archive/2010/10/22/how-to-capture-audio-from-your-microphone-in-wp7.aspx"&gt;http://devlicio.us/blogs/derik_whittaker/archive/2010/10/22/how-to-capture-audio-from-your-microphone-in-wp7.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Windows Phone 7 Quick Tip: How to use Bing Maps in XNA games&lt;/strong&gt; (… e aqui o oposto!)     &lt;br /&gt;&lt;a title="http://blogs.microsoft.co.il/blogs/alex_golesh/archive/2010/10/22/windows-phone-7-quick-tip-how-to-use-bing-maps-in-xna-games.aspx" href="http://blogs.microsoft.co.il/blogs/alex_golesh/archive/2010/10/22/windows-phone-7-quick-tip-how-to-use-bing-maps-in-xna-games.aspx"&gt;http://blogs.microsoft.co.il/blogs/alex_golesh/archive/2010/10/22/windows-phone-7-quick-tip-how-to-use-bing-maps-in-xna-games.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;How to fix : An activation code is required before we can finish setting up your phone&lt;/strong&gt; (para quando a activação de um novo telefone não corre bem)     &lt;br /&gt;&lt;a title="http://www.1800pocketpc.com/2010/10/22/how-to-fix-an-activation-code-is-required-before-we-can-finish-setting-up-your-phone.html" href="http://www.1800pocketpc.com/2010/10/22/how-to-fix-an-activation-code-is-required-before-we-can-finish-setting-up-your-phone.html"&gt;http://www.1800pocketpc.com/2010/10/22/how-to-fix-an-activation-code-is-required-before-we-can-finish-setting-up-your-phone.html&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Windows Phone 7 Analytics with Runtime Intelligence and Dotfuscator&lt;/strong&gt;     &lt;br /&gt;&lt;a href="http://www.youtube.com/watch?v=QvTueq7EJuY"&gt;http://www.youtube.com/watch?v=QvTueq7EJuY&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Why Deactivated is not the same as Tombstoned      &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://www.imaginativeuniversal.com/blog/post/2010/10/21/WP7-Deactivated-!3d-Tombstone.aspx" href="http://www.imaginativeuniversal.com/blog/post/2010/10/21/WP7-Deactivated-!3d-Tombstone.aspx"&gt;http://www.imaginativeuniversal.com/blog/post/2010/10/21/WP7-Deactivated-!3d-Tombstone.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Windows Phone 7 Enterprise Mobility Kit      &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://www.microsoft.com/downloads/en/confirmation.aspx?FamilyID=f3887006-5adf-4f54-be32-771ae9ad7af1" href="http://www.microsoft.com/downloads/en/confirmation.aspx?FamilyID=f3887006-5adf-4f54-be32-771ae9ad7af1"&gt;http://www.microsoft.com/downloads/en/confirmation.aspx?FamilyID=f3887006-5adf-4f54-be32-771ae9ad7af1&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Create games for Windows Phon 7 – phase 1: platform     &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://create.msdn.com/en-US/education/roadmap" href="http://create.msdn.com/en-US/education/roadmap"&gt;http://create.msdn.com/en-US/education/roadmap&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Work-Around for DataContractJsonSerializer ArgumentNullExceptions     &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://danielvaughan.orpius.com/post/Work-around-for-DataContractJsonSerializer-ArgumentNullExceptions.aspx" href="http://danielvaughan.orpius.com/post/Work-around-for-DataContractJsonSerializer-ArgumentNullExceptions.aspx"&gt;http://danielvaughan.orpius.com/post/Work-around-for-DataContractJsonSerializer-ArgumentNullExceptions.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Zune detection and Network awareness     &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://gdwp7dev.wordpress.com/2010/10/24/zune-detection-and-network-awareness/" href="http://gdwp7dev.wordpress.com/2010/10/24/zune-detection-and-network-awareness/"&gt;http://gdwp7dev.wordpress.com/2010/10/24/zune-detection-and-network-awareness/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;The Windows Phone From Scratch Mini-Tutorials: #1: Getting Started     &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://jesseliberty.com/2010/10/25/the-windows-phone-from-scratch-mini-tutorials-1-getting-started/" href="http://jesseliberty.com/2010/10/25/the-windows-phone-from-scratch-mini-tutorials-1-getting-started/"&gt;http://jesseliberty.com/2010/10/25/the-windows-phone-from-scratch-mini-tutorials-1-getting-started/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Shake that Windows Phone 7 and detect it      &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://mark.mymonster.nl/2010/10/24/shake-that-windows-phone-7-and-detect-it/" href="http://mark.mymonster.nl/2010/10/24/shake-that-windows-phone-7-and-detect-it/"&gt;http://mark.mymonster.nl/2010/10/24/shake-that-windows-phone-7-and-detect-it/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Flickr API for Windows Phone 7–The Complete Set     &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://dennisdel.com/?p=482" href="http://dennisdel.com/?p=482"&gt;http://dennisdel.com/?p=482&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Inside Windows Phone #08: Taking a look inside Windows Phone Programming Model Architecture     &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://channel9.msdn.com/Shows/Inside+Windows+Phone/Inside-Windows-Phone-08-Taking-a-look-inside-Windows-Phone-Programming-Model-Architecture" href="http://channel9.msdn.com/Shows/Inside+Windows+Phone/Inside-Windows-Phone-08-Taking-a-look-inside-Windows-Phone-Programming-Model-Architecture"&gt;http://channel9.msdn.com/Shows/Inside+Windows+Phone/Inside-Windows-Phone-08-Taking-a-look-inside-Windows-Phone-Programming-Model-Architecture&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Expression Blend 4 for Windows Phone     &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://team.silverlight.net/tips-and-training/expression-blend-4-for-windows-phone/" href="http://team.silverlight.net/tips-and-training/expression-blend-4-for-windows-phone/"&gt;http://team.silverlight.net/tips-and-training/expression-blend-4-for-windows-phone/&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1780814" width="1" height="1"&gt;</content><author><name>AlbertoSilva</name><uri>http://msmvps.com/members/AlbertoSilva/default.aspx</uri></author><category term="MSDN" scheme="http://msmvps.com/blogs/albertosilva/archive/tags/MSDN/default.aspx" /><category term="WP7dev" scheme="http://msmvps.com/blogs/albertosilva/archive/tags/WP7dev/default.aspx" /></entry><entry><title>PDC2010: Registo para assistir à keynote no auditório da Microsoft</title><link rel="alternate" type="text/html" href="/blogs/albertosilva/archive/2010/10/25/pdc2010-registo-para-assistir-224-keynote-no-audit-243-rio-da-microsoft.aspx" /><id>/blogs/albertosilva/archive/2010/10/25/pdc2010-registo-para-assistir-224-keynote-no-audit-243-rio-da-microsoft.aspx</id><published>2010-10-25T21:39:29Z</published><updated>2010-10-25T21:39:29Z</updated><content type="html">&lt;p&gt;No seguimento de um post anterior sobre o PDC2010 e as opções para assistir não-presencialmente, quem pretender assitir à keynote, a partir das 17:00 da próxima 5ª feira no auditório da Microsoft, deverá registar-se utilizando o seguinte link:&lt;/p&gt;  &lt;p&gt;&lt;a title="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032465793&amp;amp;Culture=pt-PT" href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032465793&amp;amp;Culture=pt-PT"&gt;https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032465793&amp;amp;Culture=pt-PT&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;A seguir à keynote haverá espaço para discussão sobre as tecnologias que estarão em evidência no evento.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1780726" width="1" height="1"&gt;</content><author><name>AlbertoSilva</name><uri>http://msmvps.com/members/AlbertoSilva/default.aspx</uri></author><category term="MSDN" scheme="http://msmvps.com/blogs/albertosilva/archive/tags/MSDN/default.aspx" /><category term="WP7dev" scheme="http://msmvps.com/blogs/albertosilva/archive/tags/WP7dev/default.aspx" /></entry><entry><title>PDC2010 online, Windows Phone e tecnologias de sincronização</title><link rel="alternate" type="text/html" href="/blogs/albertosilva/archive/2010/10/24/pdc2010-online-windows-phone-e-tecnologias-de-sincroniza-231-227-o.aspx" /><id>/blogs/albertosilva/archive/2010/10/24/pdc2010-online-windows-phone-e-tecnologias-de-sincroniza-231-227-o.aspx</id><published>2010-10-24T16:15:10Z</published><updated>2010-10-24T16:15:10Z</updated><content type="html">&lt;p&gt;No próximo dia 28 de Outubro, às 17:00 portuguesas terá início a &lt;em&gt;keynote&lt;/em&gt; de abertura do &lt;a href="http://www.microsoftpdc.com/"&gt;PDC2010&lt;/a&gt;. O evento deste ano tem um atractivo, realiza-se no Microsoft Campus em Redmond, que se revelou também ser um inconveniente, as inscrições esgotaram muito rapidamente. Costuma-se dizer que estes eventos são para quem pode, mas neste caso, mesmo entre quem já tinha alocado budget para o evento, muitos ficaram de fora.&lt;/p&gt;  &lt;p&gt;Para esses e para todos os outros que pelas mais diversas razões não se poderiam deslocar a Redmond, as boas notícias são que o evento será transmitido para locais ao redor do mundo onde poderão com outras pessoas assistir a essas transmissões, como no auditório da Microsoft em Lisboa, mas, também poderão assistir live a partir dos V/ PC a partir do site do evento, e descarregar as sessões 24 horas depois de terem lugar!&lt;/p&gt;  &lt;p&gt;Podem consultar a &lt;a href="http://www.microsoftpdc.com/agenda"&gt;agenda&lt;/a&gt; e &lt;a href="http://player.microsoftpdc.com/Schedule/Sessions"&gt;lista de sessões&lt;/a&gt; no site do evento, a partir de onde podem descarregar também lembretes para o Outlook. &lt;/p&gt;  &lt;p&gt;Pessoalmente destaco as seguintes:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;Windows Phone 7&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;Building Windows Phone 7 applications with the Windows Azure Platform, &lt;/strong&gt;&lt;em&gt;Steve Marx, Thursday, 11:30 AM-12:30 PM (GMT-7)        &lt;br /&gt;&lt;/em&gt;Learn how to build Windows Phone 7 applications that are backed by scalable cloud components hosted in Windows Azure. This demo-heavy session will cover best practices relating to communication, authentication, and data synchronization between phone applications and cloud components. &lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Mysteries of Windows Memory Management Revealed, Part 1 of 2, &lt;/strong&gt;&lt;em&gt;Mark Russinovich, Thursday, 2:00 PM-3:00 PM (GMT-7)        &lt;br /&gt;&lt;/em&gt;If you want to know the difference between System Committed memory and Process Committed memory, wondered what all those memory numbers shown by Task Manager really mean, or want to gain insight into the memory-related impact of a process, then this talk is for you. Using various memory analysis tools including: Process Explorer, VMMap, RAMMap, and others to highlight concepts throughout, the presentation starts with an overview of virtual memory management, describing types of process address space memory and how they impact system virtual memory. Then it dives into physical memory management, discussing how Windows manages process working sets, how it keeps track of physical memory, and how memory moves between different states. This is Part 1 of a two-part session.&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Things I Wish I Knew Three Months Ago about Building Windows Phone 7 Applications, &lt;/strong&gt;&lt;em&gt;Jaime Rodriguez, Thursday, 2:00 PM-3:00 PM (GMT-7)        &lt;br /&gt;&lt;/em&gt;The Windows Phone clients for Twitter and Facebook are two new, native-looking Windows Phone applications. Come hear about all the lessons learned while developing these applications. Learn insights on UX as well as development/architecture patterns for building great, well-behaved, native-looking Windows Phone 7 apps.&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Mysteries of Windows Memory Management Revealed, Part 2 of 2, &lt;/strong&gt;&lt;em&gt;Mark Russinovich, Thursday, 3:15 PM-4:15 PM (GMT-7)        &lt;br /&gt;&lt;/em&gt;If you want to know the difference between System Committed memory and Process Committed memory, wondered what all those memory numbers shown by Task Manager really mean, or want to gain insight into the memory-related impact of a process, then this talk is for you. Using various memory analysis tools including: Process Explorer, VMMap, RAMMap, and others to highlight concepts throughout, the presentation starts with an overview of virtual memory management, describing types of process address space memory and how they impact system virtual memory. Then it dives into physical memory management, discussing how Windows manages process working sets, how it keeps track of physical memory, and how memory moves between different states. This is Part 2 of a two-part session.&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Optimizing Performance for Silverlight Windows Phone 7 Applications, &lt;/strong&gt;&lt;em&gt;Oren Nachman, Thursday, 3:15 PM-4:15 PM (GMT-7)        &lt;br /&gt;&lt;/em&gt;Hear about the key tips, tricks and common mistakes that were learned by analyzing several real world applications. See demos of how real apps are debugged. Also learn how to write world class applications with animations running at 60fps.&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;3-Screen Coding: Sharing code between Windows Phone, Silverlight, and .NET, &lt;/strong&gt;&lt;em&gt;Shawn Burke, Thursday, 4:30 PM-5:30 PM (GMT-7)        &lt;br /&gt;&lt;/em&gt;Get a preview of upcoming Visual Studio features that will allow you to share code between Microsoft .NET platforms. You’ll learn how to structure applications to maximize the amount of shared code, how to write an app that’s used across Silverlight Desktop and Windows Phone, and how to build business logic and helper functions that work across all 3 Screens plus the cloud.&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Things You Need to Know Before Building XNA Games for Windows Phone 7, &lt;/strong&gt;&lt;em&gt;Shawn Hargreaves, Friday, 11:30 AM-12:30 PM (GMT-7)        &lt;br /&gt;&lt;/em&gt;So you have a cool idea for a game. This session covers some of the less obvious things you will need to know to turn your idea into reality using XNA Game Studio for Windows Phone. Topics include how to choose the best orientation and resolution, how game content differs from typical productivity or web applications, how to deal with tombstoning, speed up load times, and how to proceed if you are interested in getting access to Xbox LIVE on the phone.&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Real-World Analysis and Optimization of XNA Framework Games on Windows Phone 7, &lt;/strong&gt;&lt;em&gt;Jeff Petkau, Friday, 2:00 PM-3:00 PM (GMT-7)        &lt;br /&gt;&lt;/em&gt;Good code design, performance tips, and a solid understanding of the platform are all essential to game development. Learn how to use the Microsoft’s Advanced Technology Group&amp;#39;s (ATG) battle-tested techniques to find and fix performance-killing issues in Windows Phone 7 XNA Framework game code. Also, hear about real-world analysis and optimization of XNA Framework games on Windows Phone 7.&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;The Rich Mobile Web – Today and Tomorrow, &lt;/strong&gt;&lt;em&gt;Joe Marini, On Demand        &lt;br /&gt;&lt;/em&gt;Come learn how to plan and design for today&amp;#39;s - and tomorrow&amp;#39;s - Rich Mobile Web, whether you have an existing site that you want to get mobilized or are starting from scratch.&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Making Money with the Windows Phone Market Place, &lt;/strong&gt;&lt;em&gt;Karen Luk, On Demand        &lt;br /&gt;&lt;/em&gt;In Windows Phone 7, Microsoft provides a central mechanism for distributing your application or game to all Windows Phone users: the Windows Phone Marketplace. In this session, we’ll review the high level workings of the Marketplace, but more importantly, we’ll drill deep on the functional criteria your application must meet, and the practices you should use in order to meet them.&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Build Outstanding User Experiences in Windows Phone 7, &lt;/strong&gt;&lt;em&gt;Bryan Agnetta, On Demand        &lt;br /&gt;&lt;/em&gt;Come hear how the Windows Phone design system, codenamed &amp;quot;Metro&amp;quot;, will help developers deliver outstanding user experiences on Windows Phone 7. Learn how the Windows Phone 7 application platform makes it easier than ever to build experiences that leverage the Metro design system. This session will go in depth into not only how to use the new controls, but also how to design your application experience to leverage this compelling new application paradigm.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;Tecnologias de sincronização&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;Creating Custom OData Services: Inside Some of The Top OData Services, &lt;/strong&gt;&lt;em&gt;Pablo Castro, Thursday, 3:15 PM-4:15 PM (GMT-7)        &lt;br /&gt;&lt;/em&gt;What does it take to build a real-world OData (Open Data Protocol) service that’s secure, scalable and works great with all clients across the Web? Come to hear all the details on how some of the most popular OData services are built. We will discuss how WCF Data Services is used in typical and not-so-typical contexts, how we layer-in business logic and security, how we deal with custom back-ends that don’t look like databases, and more.&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Building Offline Applications using the Sync Framework and SQL Azure, &lt;/strong&gt;&lt;em&gt;Nina Hu, On Demand        &lt;br /&gt;&lt;/em&gt;In this session you will learn how to build a client application that operates against locally stored data and uses synchronization to keep up-to-date with a SQL Azure database. See how Sync Framework can be used to build caching and offline capabilities into your client application, making your users productive when disconnected and making your user experience more compelling even when a connection is available. See how to develop offline applications for Windows Phone 7 and Silverlight, plus how the services support any other client platform, such as iPhone and HTML5 applications, using the open web-based sync protocol.      &lt;/p&gt;&lt;/blockquote&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1780635" width="1" height="1"&gt;</content><author><name>AlbertoSilva</name><uri>http://msmvps.com/members/AlbertoSilva/default.aspx</uri></author><category term="MSDN" scheme="http://msmvps.com/blogs/albertosilva/archive/tags/MSDN/default.aspx" /><category term="WP7dev" scheme="http://msmvps.com/blogs/albertosilva/archive/tags/WP7dev/default.aspx" /></entry><entry><title>Windows Phone 7: Experiência para programadores (XL)</title><link rel="alternate" type="text/html" href="/blogs/albertosilva/archive/2010/10/20/windows-phone-7-experi-234-ncia-para-programadores-xl.aspx" /><id>/blogs/albertosilva/archive/2010/10/20/windows-phone-7-experi-234-ncia-para-programadores-xl.aspx</id><published>2010-10-20T19:53:38Z</published><updated>2010-10-20T19:53:38Z</updated><content type="html">&lt;p&gt;Aqui vai mais uma série de links para artigos relacionados com o desenvolvimento para WP7 e outras questões relacionadas, como o marketplace. Continuo impressionado com a quantidade, variedade, regularidade e qualidade de artigos publicados por alguns bloggers!&lt;/p&gt;  &lt;p&gt;Entretanto &lt;a href="http://www.microsoft.com/portugal/presspass/press/2010/out10/10-19WP7InicioVendas.mspx"&gt;foi disponibilizada a lista dos primeiros equipamentos Windows Phone 7 a estarem disponíveis cá em Portugal&lt;/a&gt;, sejam ‘livres’, sejam de operador, ressalvando que por agora todos os equipamentos vêm em inglês.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Série de videos ‘How do I’&lt;/strong&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a title="http://www.msdev.com/Directory/Description.aspx?EventId=1917" href="http://www.msdev.com/Directory/Description.aspx?EventId=1917"&gt;How Do I: Use MVVM in a Windows Phone 7 Application?&lt;/a&gt;      &lt;br /&gt;&lt;a title="http://www.msdev.com/Directory/Description.aspx?EventId=1909" href="http://www.msdev.com/Directory/Description.aspx?EventId=1909"&gt;How Do I: Use Page Turn Animation in a Windows Phone 7 Application?&lt;/a&gt;      &lt;br /&gt;&lt;a title="http://www.msdev.com/Directory/Description.aspx?EventId=1914" href="http://www.msdev.com/Directory/Description.aspx?EventId=1914"&gt;How Do I: Use XNA for Game State Management in a Windows Phone 7 application?&lt;/a&gt;      &lt;br /&gt;&lt;a title="http://www.msdev.com/Directory/Description.aspx?EventId=1910" href="http://www.msdev.com/Directory/Description.aspx?EventId=1910"&gt;How Do I: Use Touch Manipulation in a Windows Phone 7 Application?&lt;/a&gt;      &lt;br /&gt;&lt;a title="http://www.msdev.com/Directory/Description.aspx?EventId=1912" href="http://www.msdev.com/Directory/Description.aspx?EventId=1912"&gt;How Do I: Migrate an iPhone Application to a Windows Phone 7 Application?&lt;/a&gt;      &lt;br /&gt;&lt;a title="http://www.msdev.com/Directory/Description.aspx?EventId=1913" href="http://www.msdev.com/Directory/Description.aspx?EventId=1913"&gt;How Do I: Migrate an Android Application to a Windows Phone 7 Application?&lt;/a&gt;      &lt;br /&gt;&lt;a title="http://www.msdev.com/Directory/Description.aspx?EventId=1916" href="http://www.msdev.com/Directory/Description.aspx?EventId=1916"&gt;How Do I: Implement Tombstoning in Windows Phone 7 Applications?&lt;/a&gt;      &lt;br /&gt;&lt;a title="http://www.msdev.com/Directory/Description.aspx?EventId=1916" href="http://www.msdev.com/Directory/Description.aspx?EventId=1916"&gt;How Do I: Implement Tilt Effects in a Windows Phone 7 Application?&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;strong&gt;WP7 Development Tip of the Day&lt;/strong&gt; pelo &lt;a href="http://www.codebadger.com/blog/"&gt;Brad Tutterow&lt;/a&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a title="http://www.codebadger.com/blog/post/2010/10/18/WP7-Development-Tip-of-the-Day-IsolatedStorageSettings.aspx" href="http://www.codebadger.com/blog/post/2010/10/18/WP7-Development-Tip-of-the-Day-IsolatedStorageSettings.aspx"&gt;IsolatedStorageSettings&lt;/a&gt;&lt;strong&gt;&amp;#160;&lt;/strong&gt;      &lt;br /&gt;&lt;a title="http://www.codebadger.com/blog/post/2010/10/20/WP7-Development-Tip-of-the-Day-Which-UriKind-to-use-when-navigating-using-NavigationServerNavigate.aspx" href="http://www.codebadger.com/blog/post/2010/10/20/WP7-Development-Tip-of-the-Day-Which-UriKind-to-use-when-navigating-using-NavigationServerNavigate.aspx"&gt;Which UriKind to use when navigating using NavigationServer.Navigate&lt;/a&gt;      &lt;br /&gt;&lt;a title="http://www.codebadger.com/blog/post/2010/10/19/WP7-Development-Tip-of-the-Day-Navigating-between-pages-NavigateUri-vs-NavigationService.aspx" href="http://www.codebadger.com/blog/post/2010/10/19/WP7-Development-Tip-of-the-Day-Navigating-between-pages-NavigateUri-vs-NavigationService.aspx"&gt;Navigating between pages: NavigateUri vs. NavigationService&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;strong&gt;Série de artigos sobre a GeoLocation API&lt;/strong&gt; pelo &lt;a href="http://blogs.msdn.com/b/dragoman/"&gt;Dragos Manolescu&lt;/a&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a title="http://blogs.msdn.com/b/dragoman/archive/2010/10/13/wp7-code-geofencing-with-the-geolocation-api-and-rx.aspx" href="http://blogs.msdn.com/b/dragoman/archive/2010/10/13/wp7-code-geofencing-with-the-geolocation-api-and-rx.aspx"&gt;WP7 Code: Geofencing with the GeoLocation API and Rx&lt;/a&gt;      &lt;br /&gt;&lt;a title="http://blogs.msdn.com/b/dragoman/archive/2010/10/07/wp7-code-reverse-geocoding-with-the-bing-maps-service.aspx" href="http://blogs.msdn.com/b/dragoman/archive/2010/10/07/wp7-code-reverse-geocoding-with-the-bing-maps-service.aspx"&gt;WP7 Code: Reverse GeoCoding with the Bing Maps Service&lt;/a&gt;      &lt;br /&gt;&lt;a title="http://blogs.msdn.com/b/dragoman/archive/2010/09/29/wp7-code-distance-computations-with-the-geolocation-api.aspx" href="http://blogs.msdn.com/b/dragoman/archive/2010/09/29/wp7-code-distance-computations-with-the-geolocation-api.aspx"&gt;WP7 Code: Distance Computations with the GeoLocation API&lt;/a&gt;      &lt;br /&gt;&lt;a title="http://blogs.msdn.com/b/dragoman/archive/2010/09/21/wp7-code-using-the-geolocation-api.aspx" href="http://blogs.msdn.com/b/dragoman/archive/2010/09/21/wp7-code-using-the-geolocation-api.aspx"&gt;WP7 Code: Using the GeoLocation API&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;strong&gt;31 Days of Windows Phone pelo &lt;a href="http://www.jeffblankenburg.com/default.aspx"&gt;Jeff Blankenburg&lt;/a&gt;&amp;#160;&lt;/strong&gt;(&lt;a href="http://www.jeffblankenburg.com/post/31-Days-of-Windows-Phone-7.aspx"&gt;continuação&lt;/a&gt;)&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://www.jeffblankenburg.com/post/31-Days-of-Windows-Phone-7c-Day-16-The-Panorama-Control.aspx"&gt;Day #16: Panorama Control&lt;/a&gt;      &lt;br /&gt;&lt;a href="http://www.jeffblankenburg.com/post/31-Days-of-Windows-Phone-7c-Day-17-The-Pivot-Control.aspx"&gt;Day #17: Pivot Control&lt;/a&gt;      &lt;br /&gt;&lt;a href="http://www.jeffblankenburg.com/post/31-Days-of-Windows-Phone-7c-Day-18-WebBrowser-Control.aspx"&gt;Day #18: WebBrowser Control&lt;/a&gt;      &lt;br /&gt;&lt;a href="http://www.jeffblankenburg.com/post/31-Days-of-Windows-Phone-7c-Day-19-Push-Notifications.aspx"&gt;Day #19: Push Notification API&lt;/a&gt;      &lt;br /&gt;&lt;a href="http://www.jeffblankenburg.com/post/31-Days-of-Windows-Phone-7c-Day-20-Map-Control.aspx"&gt;Day #20: Map Control&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;strong&gt;Architecting WP7&lt;/strong&gt; pelo &lt;a href="http://wildermuth.com/"&gt;Shawn Wildermuth&lt;/a&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a title="http://wildermuth.com/2010/10/11/Architecting_WP7_-_Part_1_of_10_Navigation_Framework" href="http://wildermuth.com/2010/10/11/Architecting_WP7_-_Part_1_of_10_Navigation_Framework"&gt;Part 1 of 10: Navigation Framework&lt;/a&gt;      &lt;br /&gt;&lt;a title="http://wildermuth.com/2010/10/12/Architecting_WP7_-_Part_2_of_10_Pivot_and_Panorama_Issues" href="http://wildermuth.com/2010/10/12/Architecting_WP7_-_Part_2_of_10_Pivot_and_Panorama_Issues"&gt;Part 2 of 10: Pivot and Panorama Issues&lt;/a&gt;      &lt;br /&gt;&lt;a title="http://wildermuth.com/2010/10/13/Architecting_WP7_-_Part_3_of_10_Enough_Architecture_(or_Where_is_my_VM)" href="http://wildermuth.com/2010/10/13/Architecting_WP7_-_Part_3_of_10_Enough_Architecture_(or_Where_is_my_VM)"&gt;Part 3 of 10: Enough Architecture (or Where is my VM)&lt;/a&gt;      &lt;br /&gt;&lt;a title="http://wildermuth.com/2010/10/14/Architecting_WP7_-_Part_4_of_10_Client-side_Data" href="http://wildermuth.com/2010/10/14/Architecting_WP7_-_Part_4_of_10_Client-side_Data"&gt;Part 4 of 10: Client-side Data&lt;/a&gt;      &lt;br /&gt;&lt;a title="http://wildermuth.com/2010/10/17/Architecting_WP7_-_Part_5_of_10_Tombstoning" href="http://wildermuth.com/2010/10/17/Architecting_WP7_-_Part_5_of_10_Tombstoning"&gt;Part 5 of 10: Tombstoning&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;strong&gt;Diversos&lt;/strong&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;iPhone to Windows Phone 7 – Animation and Games (Part 2)       &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://jesseliberty.com/2010/10/19/iphone-to-windows-phone-7-xna-animation-and-games-part-2/" href="http://jesseliberty.com/2010/10/19/iphone-to-windows-phone-7-xna-animation-and-games-part-2/"&gt;http://jesseliberty.com/2010/10/19/iphone-to-windows-phone-7-xna-animation-and-games-part-2/&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Enabling your WP7 application to be installed in Trial Mode        &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://devlicio.us/blogs/derik_whittaker/archive/2010/10/18/enabling-your-wp7-application-to-be-installed-in-trial-mode.aspx" href="http://devlicio.us/blogs/derik_whittaker/archive/2010/10/18/enabling-your-wp7-application-to-be-installed-in-trial-mode.aspx"&gt;http://devlicio.us/blogs/derik_whittaker/archive/2010/10/18/enabling-your-wp7-application-to-be-installed-in-trial-mode.aspx&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Conditional Logic During Start Up of a Windows Phone App       &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://rhizohm.net/irhetoric/post/2010/10/18/Conditional-Logic-During-Start-Up-of-a-Windows-Phone-App.aspx" href="http://rhizohm.net/irhetoric/post/2010/10/18/Conditional-Logic-During-Start-Up-of-a-Windows-Phone-App.aspx"&gt;http://rhizohm.net/irhetoric/post/2010/10/18/Conditional-Logic-During-Start-Up-of-a-Windows-Phone-App.aspx&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Windows Phone 7 Turnstile Control for Silverlight       &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://www.codeproject.com/KB/windows-phone-7/WP7Turnstile.aspx" href="http://www.codeproject.com/KB/windows-phone-7/WP7Turnstile.aspx"&gt;http://www.codeproject.com/KB/windows-phone-7/WP7Turnstile.aspx&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;New Silverilght/Windows Phone 7 Video Tutorial: Learn how to make a Turnstyle Control       &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://www.windowspresentationfoundation.com/?p=754" href="http://www.windowspresentationfoundation.com/?p=754"&gt;http://www.windowspresentationfoundation.com/?p=754&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;How to: Use Share Picker Extensibility for Windows Phone       &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://msdn.microsoft.com/en-us/library/ff967563(VS.92).aspx" href="http://msdn.microsoft.com/en-us/library/ff967563(VS.92).aspx"&gt;http://msdn.microsoft.com/en-us/library/ff967563(VS.92).aspx&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Resume the User’s music after MediaPlay       &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://gdwp7dev.wordpress.com/2010/10/19/resume-the-users-music-after-mediaplay/" href="http://gdwp7dev.wordpress.com/2010/10/19/resume-the-users-music-after-mediaplay/"&gt;http://gdwp7dev.wordpress.com/2010/10/19/resume-the-users-music-after-mediaplay/&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Google Maps for Windows Phone 7 using the Bing Maps Control        &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://dotnetbyexample.blogspot.com/2010/10/google-maps-for-windows-phone-7.html" href="http://dotnetbyexample.blogspot.com/2010/10/google-maps-for-windows-phone-7.html"&gt;http://dotnetbyexample.blogspot.com/2010/10/google-maps-for-windows-phone-7.html&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;PicFx – Windows Phone Picture Effects Application – Part 2       &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://blogs.msdn.com/b/coding4fun/archive/2010/10/19/10077086.aspx" href="http://blogs.msdn.com/b/coding4fun/archive/2010/10/19/10077086.aspx"&gt;http://blogs.msdn.com/b/coding4fun/archive/2010/10/19/10077086.aspx&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Windows Phone 7–Asynchronous Programming        &lt;br /&gt;&lt;/strong&gt;&lt;a href="http://csainty.blogspot.com/2010/10/windows-phone-7asynchronous-programming.html"&gt;http://csainty.blogspot.com/2010/10/windows-phone-7asynchronous-programming.html&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Ninja Database Pro (motor BD para WP7 entre outros, especificações e comparação)       &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://www.kellermansoftware.com/p-43-ninja-database-pro.aspx" href="http://www.kellermansoftware.com/p-43-ninja-database-pro.aspx"&gt;http://www.kellermansoftware.com/p-43-ninja-database-pro.aspx&lt;/a&gt;      &lt;br /&gt;&lt;a title="http://www.kellermansoftware.com/t-kellerman-ninja-database-procompetition.aspx" href="http://www.kellermansoftware.com/t-kellerman-ninja-database-procompetition.aspx"&gt;http://www.kellermansoftware.com/t-kellerman-ninja-database-procompetition.aspx&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;New licensing deal for Perst       &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://mobileworld.appamundi.com/blogs/andywigley/archive/2010/10/12/new-licensing-deal-for-perst.aspx" href="http://mobileworld.appamundi.com/blogs/andywigley/archive/2010/10/12/new-licensing-deal-for-perst.aspx"&gt;http://mobileworld.appamundi.com/blogs/andywigley/archive/2010/10/12/new-licensing-deal-for-perst.aspx&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Porting an iPhone Application to Windows Phone 7&amp;#160; (PDF)       &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://cdn.microsoftplatformready.com/assets/PortingIPhoneToWindowsPhone7.pdf" href="http://cdn.microsoftplatformready.com/assets/PortingIPhoneToWindowsPhone7.pdf"&gt;http://cdn.microsoftplatformready.com/assets/PortingIPhoneToWindowsPhone7.pdf&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Silverlight TV 49: Creating Rich Interactive Prototypes with Sketchflow - Part 2       &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://channel9.msdn.com/Shows/SilverlightTV/Silverlight-TV-49-Creating-Rich-Interactive-Prototypes-with-Sketchflow-Part-2" href="http://channel9.msdn.com/Shows/SilverlightTV/Silverlight-TV-49-Creating-Rich-Interactive-Prototypes-with-Sketchflow-Part-2"&gt;http://channel9.msdn.com/Shows/SilverlightTV/Silverlight-TV-49-Creating-Rich-Interactive-Prototypes-with-Sketchflow-Part-2&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Inside Windows Phone #05:Windows Phone Silverlight Toolkit &lt;/strong&gt;(DatePicker, TimePicker, ContextMenu, ToggleSwitch, WrapPanel e GestureService)      &lt;br /&gt;&lt;a title="http://channel9.msdn.com/Shows/Inside+Windows+Phone/Inside-Windows-Phone-05Windows-Phone-Silverlight-Toolkit" href="http://channel9.msdn.com/Shows/Inside+Windows+Phone/Inside-Windows-Phone-05Windows-Phone-Silverlight-Toolkit"&gt;http://channel9.msdn.com/Shows/Inside+Windows+Phone/Inside-Windows-Phone-05Windows-Phone-Silverlight-Toolkit&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Using WCF on Windows Phone 7: Walk-through       &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://blogs.msdn.com/b/andypennell/archive/2010/09/20/using-wcf-on-windows-phone-7-walk-through.aspx" href="http://blogs.msdn.com/b/andypennell/archive/2010/09/20/using-wcf-on-windows-phone-7-walk-through.aspx"&gt;http://blogs.msdn.com/b/andypennell/archive/2010/09/20/using-wcf-on-windows-phone-7-walk-through.aspx&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Using Pivot and Panorama Controls &lt;/strong&gt;(Lab)      &lt;br /&gt;&lt;a title="http://channel9.msdn.com/Learn/Courses/WP7TrainingKit/WP7Silverlight/UsingPivotAndPanoramaControls" href="http://channel9.msdn.com/Learn/Courses/WP7TrainingKit/WP7Silverlight/UsingPivotAndPanoramaControls"&gt;http://channel9.msdn.com/Learn/Courses/WP7TrainingKit/WP7Silverlight/UsingPivotAndPanoramaControls&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Microsoft Windows Phone 7 Resources       &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://blogs.msdn.com/b/rafalkwiek/archive/2010/10/08/microsoft-windows-phone-7-resources.aspx" href="http://blogs.msdn.com/b/rafalkwiek/archive/2010/10/08/microsoft-windows-phone-7-resources.aspx"&gt;http://blogs.msdn.com/b/rafalkwiek/archive/2010/10/08/microsoft-windows-phone-7-resources.aspx&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Getting controls from inside a DataTemplate       &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://zetitle.wordpress.com/2010/10/19/getting-controls-from-inside-a-datatemplate/" href="http://zetitle.wordpress.com/2010/10/19/getting-controls-from-inside-a-datatemplate/"&gt;http://zetitle.wordpress.com/2010/10/19/getting-controls-from-inside-a-datatemplate/&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;New Silverlight/Windows Phone 7 Video Tutorial: Use ManipulationDelta to Create a Multi-Touch Application       &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://www.windowspresentationfoundation.com/?p=749" href="http://www.windowspresentationfoundation.com/?p=749"&gt;http://www.windowspresentationfoundation.com/?p=749&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Tip 5–Don’t use formatting in your Marketplace Descriptions       &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://rd3d2.wordpress.com/2010/10/14/tip-5dont-use-formatting-in-your-marketplace-descriptions/" href="http://rd3d2.wordpress.com/2010/10/14/tip-5dont-use-formatting-in-your-marketplace-descriptions/"&gt;http://rd3d2.wordpress.com/2010/10/14/tip-5dont-use-formatting-in-your-marketplace-descriptions/&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Anatomy of a WP7 Application Submission        &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://pchenry.com/Home/tabid/36/EntryID/354/Default.aspx" href="http://pchenry.com/Home/tabid/36/EntryID/354/Default.aspx"&gt;http://pchenry.com/Home/tabid/36/EntryID/354/Default.aspx&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;How to: Localize an Application Title for Windows Phone       &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://msdn.microsoft.com/en-us/library/ff967550(v=VS.92).aspx" href="http://msdn.microsoft.com/en-us/library/ff967550(v=VS.92).aspx"&gt;http://msdn.microsoft.com/en-us/library/ff967550(v=VS.92).aspx&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1780390" width="1" height="1"&gt;</content><author><name>AlbertoSilva</name><uri>http://msmvps.com/members/AlbertoSilva/default.aspx</uri></author><category term="MSDN" scheme="http://msmvps.com/blogs/albertosilva/archive/tags/MSDN/default.aspx" /><category term="WP7dev" scheme="http://msmvps.com/blogs/albertosilva/archive/tags/WP7dev/default.aspx" /></entry><entry><title>Windows Phone 7: Experiência para programadores (XXXIX)</title><link rel="alternate" type="text/html" href="/blogs/albertosilva/archive/2010/10/19/windows-phone-7-experi-234-ncia-para-programadores-xxxix.aspx" /><id>/blogs/albertosilva/archive/2010/10/19/windows-phone-7-experi-234-ncia-para-programadores-xxxix.aspx</id><published>2010-10-19T00:07:02Z</published><updated>2010-10-19T00:07:02Z</updated><content type="html">&lt;p&gt;Já com os 40 posts à vista dedicados ao tema do desenvolvimento para Windows Phone 7, aqui vão mais uns quantos links que achei importante partilhar:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;Launchers and Choosers (video)        &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://www.silverlight.net/learn/videos/windows-phone/launchers-and-choosers/" href="http://www.silverlight.net/learn/videos/windows-phone/launchers-and-choosers/"&gt;http://www.silverlight.net/learn/videos/windows-phone/launchers-and-choosers/&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Silverlight On Mobile : Launchers in Windows Phone 7        &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://pendsevikram.blogspot.com/2010/10/silverlight-on-mobile-launchers-in.html" href="http://pendsevikram.blogspot.com/2010/10/silverlight-on-mobile-launchers-in.html"&gt;http://pendsevikram.blogspot.com/2010/10/silverlight-on-mobile-launchers-in.html&lt;/a&gt;      &lt;br /&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;How to install the Windows Phone Developer Tools on Windows Server 2008        &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://blogs.msdn.com/b/astebner/archive/2010/05/02/10005980.aspx" href="http://blogs.msdn.com/b/astebner/archive/2010/05/02/10005980.aspx"&gt;http://blogs.msdn.com/b/astebner/archive/2010/05/02/10005980.aspx&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Windows Phone 7 – Application Lifecycle – Ocean for the Phone       &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://karlshifflett.wordpress.com/2010/10/17/windows-phone-7-application-lifecycle-ocean-for-the-phone/" href="http://karlshifflett.wordpress.com/2010/10/17/windows-phone-7-application-lifecycle-ocean-for-the-phone/"&gt;http://karlshifflett.wordpress.com/2010/10/17/windows-phone-7-application-lifecycle-ocean-for-the-phone/&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Windows Phone 7 Line of Business App Dev :: Moving your WCF REST + JSON Service to Windows Azure       &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://robtiffany.com/azure/windows-phone-7-line-of-business-app-dev-moving-your-wcf-rest-json-service-to-windows-azure" href="http://robtiffany.com/azure/windows-phone-7-line-of-business-app-dev-moving-your-wcf-rest-json-service-to-windows-azure"&gt;http://robtiffany.com/azure/windows-phone-7-line-of-business-app-dev-moving-your-wcf-rest-json-service-to-windows-azure&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Netflix Browser for Windows Phone 7 - Part 1 (pivot, panorama, navegação, OData, …)       &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://www.codeproject.com/KB/windows-phone-7/NetflixBrowser.aspx" href="http://www.codeproject.com/KB/windows-phone-7/NetflixBrowser.aspx"&gt;http://www.codeproject.com/KB/windows-phone-7/NetflixBrowser.aspx&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Help! Can&amp;#39;t unlock my Windows Phone 7, can&amp;#39;t deploy my XAP file, or can&amp;#39;t run my app! (troubleshooting…)       &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://blogs.msdn.com/b/velloso/archive/2010/10/15/help-can-t-unlock-my-windows-phone-7-can-t-deploy-my-xap-file-or-can-t-run-my-app.aspx" href="http://blogs.msdn.com/b/velloso/archive/2010/10/15/help-can-t-unlock-my-windows-phone-7-can-t-deploy-my-xap-file-or-can-t-run-my-app.aspx"&gt;http://blogs.msdn.com/b/velloso/archive/2010/10/15/help-can-t-unlock-my-windows-phone-7-can-t-deploy-my-xap-file-or-can-t-run-my-app.aspx&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Three Reasons Developers Should Use Expression Blend (será que querem desculpas para continuarem a fazer aplicações feias?)       &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://channel9.msdn.com/Blogs/SlickThought/Three-Reasons-Developers-Should-Use-Expression-Blend" href="http://channel9.msdn.com/Blogs/SlickThought/Three-Reasons-Developers-Should-Use-Expression-Blend"&gt;http://channel9.msdn.com/Blogs/SlickThought/Three-Reasons-Developers-Should-Use-Expression-Blend&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Using the Rating Control in Windows Phone 7       &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://wp7wonders.wordpress.com/2010/10/15/use-the-rating-control-in-windows-phone-7/" href="http://wp7wonders.wordpress.com/2010/10/15/use-the-rating-control-in-windows-phone-7/"&gt;http://wp7wonders.wordpress.com/2010/10/15/use-the-rating-control-in-windows-phone-7/&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Windows Phone 7 Developer Resources       &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://www.jeffblankenburg.com/page/Windows-Phone-7-Resources.aspx" href="http://www.jeffblankenburg.com/page/Windows-Phone-7-Resources.aspx"&gt;http://www.jeffblankenburg.com/page/Windows-Phone-7-Resources.aspx&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Anti-aliased Lines And Optimizing Code for Windows Phone 7–First Look       &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://nokola.com/blog/post/2010/10/14/Anti-aliased-Lines-And-Optimizing-Code-for-Windows-Phone-7e28093First-Look.aspx" href="http://nokola.com/blog/post/2010/10/14/Anti-aliased-Lines-And-Optimizing-Code-for-Windows-Phone-7e28093First-Look.aspx"&gt;http://nokola.com/blog/post/2010/10/14/Anti-aliased-Lines-And-Optimizing-Code-for-Windows-Phone-7e28093First-Look.aspx&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Flickr API for Windows Phone 7 – Part 11- Group Membership       &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://dotnet.dzone.com/articles/flickr-api-windows-phone-7-–-9" href="http://dotnet.dzone.com/articles/flickr-api-windows-phone-7-&amp;ndash;-9"&gt;http://dotnet.dzone.com/articles/flickr-api-windows-phone-7-–-9&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Flickr API for Windows Phone 7 – Part 12 – Group Pools       &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://dotnet.dzone.com/articles/flickr-api-windows-phone-7-–-10" href="http://dotnet.dzone.com/articles/flickr-api-windows-phone-7-&amp;ndash;-10"&gt;http://dotnet.dzone.com/articles/flickr-api-windows-phone-7-–-10&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Localize a Windows Phone 7 Application       &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://wp7wonders.wordpress.com/2010/10/17/localize-a-windows-phone-7-application/" href="http://wp7wonders.wordpress.com/2010/10/17/localize-a-windows-phone-7-application/"&gt;http://wp7wonders.wordpress.com/2010/10/17/localize-a-windows-phone-7-application/&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Monetize your Windows Phone 7 Apps (com o MS Ad SDK)       &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://advertising.microsoft.com/mobile-apps" href="http://advertising.microsoft.com/mobile-apps"&gt;http://advertising.microsoft.com/mobile-apps&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Test Driven Development (TDD) and Windows Phone 7        &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://simonguest.com/2010/10/18/test-driven-development-tdd-and-windows-phone-7/" href="http://simonguest.com/2010/10/18/test-driven-development-tdd-and-windows-phone-7/"&gt;http://simonguest.com/2010/10/18/test-driven-development-tdd-and-windows-phone-7/&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Fiddler and the Windows Phone 7 Emulator       &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://blogs.msdn.com/b/fiddler/archive/2010/10/15/fiddler-and-the-windows-phone-emulator.aspx?utm_medium=Twitter&amp;amp;utm_source=Shared" href="http://blogs.msdn.com/b/fiddler/archive/2010/10/15/fiddler-and-the-windows-phone-emulator.aspx?utm_medium=Twitter&amp;amp;utm_source=Shared"&gt;http://blogs.msdn.com/b/fiddler/archive/2010/10/15/fiddler-and-the-windows-phone-emulator.aspx?utm_medium=Twitter&amp;amp;utm_source=Shared&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;PhoneApplicationService.ApplicationIdleDetectionMode Property&amp;#160; (importante para o App live cycle)       &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://msdn.microsoft.com/en-us/library/microsoft.phone.shell.phoneapplicationservice.applicationidledetectionmode(VS.92).aspx" href="http://msdn.microsoft.com/en-us/library/microsoft.phone.shell.phoneapplicationservice.applicationidledetectionmode(VS.92).aspx"&gt;http://msdn.microsoft.com/en-us/library/microsoft.phone.shell.phoneapplicationservice.applicationidledetectionmode(VS.92).aspx&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Azure + Bing Maps: Expose data to the world with WCF Data Services (também deve poder ser consuimido com WP7 &lt;img style="border-bottom-style:none;border-left-style:none;border-top-style:none;border-right-style:none;" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/albertosilva.metablogapi/7120.wlEmoticonsmile_5F00_7C514DB0.png" /&gt; )        &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://blogs.msdn.com/b/windows-azure-support/archive/2010/10/13/azure-bing-maps-expose-data-to-the-world-with-wcf-data-services.aspx" href="http://blogs.msdn.com/b/windows-azure-support/archive/2010/10/13/azure-bing-maps-expose-data-to-the-world-with-wcf-data-services.aspx"&gt;http://blogs.msdn.com/b/windows-azure-support/archive/2010/10/13/azure-bing-maps-expose-data-to-the-world-with-wcf-data-services.aspx&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Using reactive extensions with WebRequest       &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://zetitle.wordpress.com/2010/10/14/using-reactive-extensions-with-webrequest/" href="http://zetitle.wordpress.com/2010/10/14/using-reactive-extensions-with-webrequest/"&gt;http://zetitle.wordpress.com/2010/10/14/using-reactive-extensions-with-webrequest/&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Important Info for WP7 Application Developers (relacionado com Marketplace)       &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://chriskoenig.net/2010/10/14/important-info-for-wp7-application-developers" href="http://chriskoenig.net/2010/10/14/important-info-for-wp7-application-developers"&gt;http://chriskoenig.net/2010/10/14/important-info-for-wp7-application-developers&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Getting your App published on Windows Phone Marketplace       &lt;br /&gt;&lt;/strong&gt;&lt;a title="https://rd3d2.wordpress.com/2010/10/12/getting-your-app-published-on-windows-phone-marketplace/" href="https://rd3d2.wordpress.com/2010/10/12/getting-your-app-published-on-windows-phone-marketplace/"&gt;https://rd3d2.wordpress.com/2010/10/12/getting-your-app-published-on-windows-phone-marketplace/&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;When a WP7 app fails the Marketplace submission process, it looks like this...       &lt;br /&gt;&lt;/strong&gt;&lt;a href="http://www.wpcentral.com/when-wp7-app-fails-marketplace-submission-process-it-looks-this"&gt;http://www.wpcentral.com/when-wp7-app-fails-marketplace-submission-process-it-looks-this&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Failed first attempt at WP7 application submission (updated with reasons)        &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://www.pchenry.com/Home/tabid/36/EntryID/360/Default.aspx" href="http://www.pchenry.com/Home/tabid/36/EntryID/360/Default.aspx"&gt;http://www.pchenry.com/Home/tabid/36/EntryID/360/Default.aspx&lt;/a&gt;      &lt;br /&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Beware of .cache files on IsolatedStorage       &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://blogs.ugidotnet.org/corrado/archive/2010/10/15/beware-of-.cache-files-on-isolatedstorage.aspx" href="http://blogs.ugidotnet.org/corrado/archive/2010/10/15/beware-of-.cache-files-on-isolatedstorage.aspx"&gt;http://blogs.ugidotnet.org/corrado/archive/2010/10/15/beware-of-.cache-files-on-isolatedstorage.aspx&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Make Your PC Look Like Windows Phone 7 (não, não tem nada a ver com desenvolvimento!)       &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://www.howtogeek.com/howto/13901/make-your-pc-look-like-windows-phone-7/" href="http://www.howtogeek.com/howto/13901/make-your-pc-look-like-windows-phone-7/"&gt;http://www.howtogeek.com/howto/13901/make-your-pc-look-like-windows-phone-7/&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Tip 4–Don’t use ‘washed out’ colours for your Marketplace background.       &lt;br /&gt;&lt;/strong&gt;&lt;a title="https://rd3d2.wordpress.com/2010/10/14/tip-4dont-use-washed-out-colours-for-your-marketplace-background/" href="https://rd3d2.wordpress.com/2010/10/14/tip-4dont-use-washed-out-colours-for-your-marketplace-background/"&gt;https://rd3d2.wordpress.com/2010/10/14/tip-4dont-use-washed-out-colours-for-your-marketplace-background/&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Professional Windows Phone 7 Application Development: Building Applications and Games Using Visual Studio, Silverlight, and XNA (&amp;amp; outros na Amazon, restam esperar que cheguem à Amazon.co.uk!)       &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://www.amazon.com/Professional-Windows-Phone-Application-Development/dp/0470891661/ref=sr_1_8?ie=UTF8&amp;amp;qid=1287016757&amp;amp;sr=8-8" href="http://www.amazon.com/Professional-Windows-Phone-Application-Development/dp/0470891661/ref=sr_1_8?ie=UTF8&amp;amp;qid=1287016757&amp;amp;sr=8-8"&gt;http://www.amazon.com/Professional-Windows-Phone-Application-Development/dp/0470891661/ref=sr_1_8?ie=UTF8&amp;amp;qid=1287016757&amp;amp;sr=8-8&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;31 Days of Windows Phone 7 (continuação)       &lt;br /&gt;&lt;/strong&gt;&lt;a href="http://www.jeffblankenburg.com/post/31-Days-of-Windows-Phone-7c-Day-12-Making-A-Phone-Vibrate.aspx"&gt;Day #12: Vibration Controller&lt;/a&gt;      &lt;br /&gt;&lt;a href="http://www.jeffblankenburg.com/post/31-Days-of-Windows-Phone-7c-Day-13-Location-Services.aspx"&gt;Day #13: Location Services&lt;/a&gt;      &lt;br /&gt;&lt;a href="http://www.jeffblankenburg.com/post/31-Days-of-Windows-Phone-7c-Day-14-Tombstoning-(Multi-tasking).aspx"&gt;Day #14: Tombstoning&lt;/a&gt;      &lt;br /&gt;&lt;a href="http://www.jeffblankenburg.com/post/31-Days-of-Windows-Phone-7c-Day-15-Isolated-Storage.aspx"&gt;Day #15: Isolated Storage&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1780230" width="1" height="1"&gt;</content><author><name>AlbertoSilva</name><uri>http://msmvps.com/members/AlbertoSilva/default.aspx</uri></author><category term="MSDN" scheme="http://msmvps.com/blogs/albertosilva/archive/tags/MSDN/default.aspx" /><category term="WP7dev" scheme="http://msmvps.com/blogs/albertosilva/archive/tags/WP7dev/default.aspx" /></entry><entry><title>Windows Phone 7–Experiência para programadores, XXXVIII</title><link rel="alternate" type="text/html" href="/blogs/albertosilva/archive/2010/10/11/windows-phone-7-experi-234-ncia-para-programadores-xxxviii.aspx" /><id>/blogs/albertosilva/archive/2010/10/11/windows-phone-7-experi-234-ncia-para-programadores-xxxviii.aspx</id><published>2010-10-11T22:53:50Z</published><updated>2010-10-11T22:53:50Z</updated><content type="html">&lt;p&gt;No dia em que o Windows Phone 7 é oficialmente lançado, contando no arranque da sua comercialização com vários equipamentos da HTC, LG, Samsung e Dell, aqui vai mais uma resenha de links.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Página de Suporte oficial para Windows Phone 7     &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://www.microsoft.com/windowsphone/en-us/howto/wp7/default.aspx" href="http://www.microsoft.com/windowsphone/en-us/howto/wp7/default.aspx"&gt;http://www.microsoft.com/windowsphone/en-us/howto/wp7/default.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Another WP7 Navigation Approach with MVVM     &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://www.geoffhudik.com/tech/2010/10/10/another-wp7-navigation-approach-with-mvvm.html" href="http://www.geoffhudik.com/tech/2010/10/10/another-wp7-navigation-approach-with-mvvm.html"&gt;http://www.geoffhudik.com/tech/2010/10/10/another-wp7-navigation-approach-with-mvvm.html&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;How to: design a Windows Phone 7 listbox     &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://silverzine.com/tutorials/how-to-design-a-windows-phone-7-listbox/" href="http://silverzine.com/tutorials/how-to-design-a-windows-phone-7-listbox/"&gt;http://silverzine.com/tutorials/how-to-design-a-windows-phone-7-listbox/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;World&amp;#39;s first profiler for Windows Phone 7     &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://channel9.msdn.com/posts/Worlds-first-profiler-for-Windows-Phone-7" href="http://channel9.msdn.com/posts/Worlds-first-profiler-for-Windows-Phone-7"&gt;http://channel9.msdn.com/posts/Worlds-first-profiler-for-Windows-Phone-7&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Profile your Windows Phone 7 Application for Free     &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://michaelcrump.net/archive/2010/10/09/profile-your-windows-phone-7-application-for-free.aspx" href="http://michaelcrump.net/archive/2010/10/09/profile-your-windows-phone-7-application-for-free.aspx"&gt;http://michaelcrump.net/archive/2010/10/09/profile-your-windows-phone-7-application-for-free.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Basic Windows Phone 7 Diagnostics     &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://www.geoffhudik.com/tech/2010/10/9/basic-windows-phone-7-diagnostics.html" href="http://www.geoffhudik.com/tech/2010/10/9/basic-windows-phone-7-diagnostics.html"&gt;http://www.geoffhudik.com/tech/2010/10/9/basic-windows-phone-7-diagnostics.html&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;WP7 Orientation Based Scrolling     &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://www.geoffhudik.com/tech/2010/10/9/wp7-orientation-based-scrolling.html" href="http://www.geoffhudik.com/tech/2010/10/9/wp7-orientation-based-scrolling.html"&gt;http://www.geoffhudik.com/tech/2010/10/9/wp7-orientation-based-scrolling.html&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Inside Windows Phone#09:Ad SDK-for Windows Phone     &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://channel9.msdn.com/Shows/Inside+Windows+Phone/Inside-Windows-Phone09Ad-SDK-for-Windows-Phone" href="http://channel9.msdn.com/Shows/Inside+Windows+Phone/Inside-Windows-Phone09Ad-SDK-for-Windows-Phone"&gt;http://channel9.msdn.com/Shows/Inside+Windows+Phone/Inside-Windows-Phone09Ad-SDK-for-Windows-Phone&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;#WP7 FluidListBox Control #wp7dev     &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://brainafk.com/wp7-fluidselectbox-control-wp7dev" href="http://brainafk.com/wp7-fluidselectbox-control-wp7dev"&gt;http://brainafk.com/wp7-fluidselectbox-control-wp7dev&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;#WP7 PickerBox Control Update (R2)     &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://brainafk.com/wp7-pickerbox-control-r2" href="http://brainafk.com/wp7-pickerbox-control-r2"&gt;http://brainafk.com/wp7-pickerbox-control-r2&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;WP7-Digest-Authentication-Client     &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://github.com/deanis/WP7-Digest-Authentication-Client" href="http://github.com/deanis/WP7-Digest-Authentication-Client"&gt;http://github.com/deanis/WP7-Digest-Authentication-Client&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;WP7 Tip: Setting the Panorama Page After Tombstoning      &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://www.jaykimble.net/wp7-tip-setting-the-panorama-page-after-tombstoning.aspx" href="http://www.jaykimble.net/wp7-tip-setting-the-panorama-page-after-tombstoning.aspx"&gt;http://www.jaykimble.net/wp7-tip-setting-the-panorama-page-after-tombstoning.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Windows Phone 7 RTM charting using the Silverlight Control Toolkit     &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://silverlighthack.com/post/2010/10/08/Windows-Phone-7-RTM-Charting-using-the-Silverlight-Control-Toolkit.aspx" href="http://silverlighthack.com/post/2010/10/08/Windows-Phone-7-RTM-Charting-using-the-Silverlight-Control-Toolkit.aspx"&gt;http://silverlighthack.com/post/2010/10/08/Windows-Phone-7-RTM-Charting-using-the-Silverlight-Control-Toolkit.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;New Windows Phone 7 / Silverlight Video Tutorial: How to make a Browser Application     &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://www.windowspresentationfoundation.com/?p=738" href="http://www.windowspresentationfoundation.com/?p=738"&gt;http://www.windowspresentationfoundation.com/?p=738&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Windows Phone 7 Error Handling, Reporting     &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://www.geoffhudik.com/tech/2010/10/9/windows-phone-7-error-handling-reporting.html" href="http://www.geoffhudik.com/tech/2010/10/9/windows-phone-7-error-handling-reporting.html"&gt;http://www.geoffhudik.com/tech/2010/10/9/windows-phone-7-error-handling-reporting.html&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Windows Phone 7 – Pivot Filtering with Caliburn.Micro     &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://blog.jayway.com/2010/10/08/windows-phone-7-pivot-filtering-with-caliburn-micro/" href="http://blog.jayway.com/2010/10/08/windows-phone-7-pivot-filtering-with-caliburn-micro/"&gt;http://blog.jayway.com/2010/10/08/windows-phone-7-pivot-filtering-with-caliburn-micro/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Designing Windows Phone 7 Applications     &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://silverzine.com/resources/designing-windows-phone-7-applications/" href="http://silverzine.com/resources/designing-windows-phone-7-applications/"&gt;http://silverzine.com/resources/designing-windows-phone-7-applications/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;31 Days of Windows Phone 7     &lt;br /&gt;&lt;/strong&gt;&lt;a href="http://www.jeffblankenburg.com/post/31-Days-of-Windows-Phone-7c-Day-1-Project-Template.aspx"&gt;Day #1: Project Template&lt;/a&gt;    &lt;br /&gt;&lt;a href="http://www.jeffblankenburg.com/post/31-Days-of-Windows-Phone-7c-Day-2-Page-Navigation.aspx"&gt;Day #2: Page Navigation&lt;/a&gt;    &lt;br /&gt;&lt;a href="http://www.jeffblankenburg.com/post/31-Days-of-Windows-Phone-7c-Day-3-The-Back-Button-Paradigm.aspx"&gt;Day #3: The Back Button Paradigm&lt;/a&gt;    &lt;br /&gt;&lt;a href="http://www.jeffblankenburg.com/post/31-Days-of-Windows-Phone-7c-Day-4-Device-Orientation.aspx"&gt;Day #4: Device Orientation&lt;/a&gt;    &lt;br /&gt;&lt;a href="http://www.jeffblankenburg.com/post/31-Days-of-Silverlight-7c-Day-5-System-Theming.aspx"&gt;Day #5: System Theming&lt;/a&gt;    &lt;br /&gt;&lt;a href="http://www.jeffblankenburg.com/post/31-Days-of-Windows-Phone-7c-Day-6-Application-Bar.aspx"&gt;Day #6: Application Bar&lt;/a&gt;    &lt;br /&gt;&lt;a href="http://www.jeffblankenburg.com/post/31-Days-of-Windows-Phone-7c-Day-7-Launchers.aspx"&gt;Day #7: Launchers&lt;/a&gt;    &lt;br /&gt;&lt;a href="http://www.jeffblankenburg.com/post/31-Days-of-Windows-Phone-7c-Day-8-Choosers.aspx"&gt;Day #8: Choosers&lt;/a&gt;    &lt;br /&gt;&lt;a href="http://www.jeffblankenburg.com/post/31-Days-of-Windows-Phone-7c-Day-9-Debugger-Tips.aspx"&gt;Day #9: Debugger Tips&lt;/a&gt;    &lt;br /&gt;&lt;a href="http://www.jeffblankenburg.com/post/31-Days-of-Windows-Phone-7c-Day-10-InputScope-TextBoxes.aspx"&gt;Day #10: Input Scope&lt;/a&gt;    &lt;br /&gt;&lt;a href="http://www.jeffblankenburg.com/post/31-Days-of-Windows-Phone-7c-Day-11-Accelerometer.aspx"&gt;Day #11: Accelerometer&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Understanding Message Box on Windows Phone 7     &lt;br /&gt;&lt;/strong&gt;&lt;a title="http://beautifulmind.blog.co.in/2010/07/28/understanding-message-box-on-windows-phone-7/" href="http://beautifulmind.blog.co.in/2010/07/28/understanding-message-box-on-windows-phone-7/"&gt;http://beautifulmind.blog.co.in/2010/07/28/understanding-message-box-on-windows-phone-7/&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1779775" width="1" height="1"&gt;</content><author><name>AlbertoSilva</name><uri>http://msmvps.com/members/AlbertoSilva/default.aspx</uri></author><category term="MSDN" scheme="http://msmvps.com/blogs/albertosilva/archive/tags/MSDN/default.aspx" /><category term="WP7dev" scheme="http://msmvps.com/blogs/albertosilva/archive/tags/WP7dev/default.aspx" /></entry><entry><title>Condensado de novidades: Ferramentas de desenvolvimento para WP7 já RTW, suporte a VB, WebDay 2010 com WP7, livro sobre SL 4.0 e… novamente MVP!</title><link rel="alternate" type="text/html" href="/blogs/albertosilva/archive/2010/10/08/condensado-de-novidades-ferramentas-de-desenvolvimento-para-wp7-j-225-rtw-suporte-a-vb-webday-2010-com-wp7-livro-sobre-sl-4-0-e-novamente-mvp.aspx" /><id>/blogs/albertosilva/archive/2010/10/08/condensado-de-novidades-ferramentas-de-desenvolvimento-para-wp7-j-225-rtw-suporte-a-vb-webday-2010-com-wp7-livro-sobre-sl-4-0-e-novamente-mvp.aspx</id><published>2010-10-08T15:25:14Z</published><updated>2010-10-08T15:25:14Z</updated><content type="html">&lt;p&gt;O trabalho não me tem permitido manter o blog actualizado, tendo até deixado passar algumas novidades&lt;/p&gt;  &lt;p&gt;- &lt;a href="http://weblogs.asp.net/scottgu/archive/2010/09/16/windows-phone-7-developer-tools-released.aspx"&gt;A versão final das ferramentas de desenvolvimento para Windows Phone 7 foi libertada&lt;/a&gt;, e para aqueles que não tenham uma edição paga do Visual Studio 2010, vem gratuitamente com uma edição Express e o Expression Blend.&lt;/p&gt;  &lt;p&gt;- &lt;a href="http://windowsteamblog.com/windows_phone/b/wpdev/archive/2010/09/23/visual-basic-comes-to-windows-phone-7.aspx"&gt;Foi anunciado&lt;/a&gt; o suporte&amp;#160; futuro oficial à utilização de Visual Basic.net para desenvolvimento de aplicações Silverlight para Windows Phone 7. Ter em conta que o XNA só suporta C# e que a pre-release (CTP) não é suportada pelo VS2010 Express&lt;/p&gt;  &lt;p&gt;- Vai decorrer o evento Microsoft WebDay 2010 no Porto e em Lisboa, a 12 e 14 de Outubro respectivamente, que entre diversos temas ligados ao desenvolvimento para a web &amp;amp; cloud, inclui também uma sessão sobre o Windows Phone 7 enquanto plataforma aplicacional. Na véspera de cada um dos eventos haverá uma pré-conferência dedicada ao desenvolvimento para Windows Phone 7, usando quer Silverlight, quer XNA.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.mswebday.com/homepage"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;border-top:0px;border-right:0px;padding-top:0px;" border="0" alt="webday" src="http://gozoomin.com/cfs-filesystemfile.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/tbarbosa/8372.webday2010.png" width="480" /&gt;&lt;/a&gt;&amp;#160;&lt;a href="http://www.mswebday.com/homepage"&gt;Site do Webday (agenda, registo, locais, …)&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;- Pela primeira vez o meu nome é referido num prefácio num livro &lt;img style="border-bottom-style:none;border-left-style:none;border-top-style:none;border-right-style:none;" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/albertosilva.metablogapi/4237.wlEmoticonsmile_5F00_32449EE4.png" /&gt; Claro que essa é a última razão porque comprariam um livro, mas há muitas e boas razões para fazê-lo! O livro é o ‘&lt;a href="http://www.fca.pt/cgi-bin/fca_main.cgi/?op=2&amp;amp;isbn=978-972-722-668-9"&gt;Silverlight 4.0 – Curso Completo&lt;/a&gt;’ pelo &lt;a href="http://pontonetpt.com/blogs/luisabreu/default.aspx"&gt;Luís Abreu&lt;/a&gt;, MVP de ASP.NET, que versa diversos temas ligados ao desenvolvimento para Silverlight, quer no modelo de execução no browser, quer fora do browser, podendo ser lido por aqueles que conhecendo .NET não se iniciaram ainda no desenvolvimento para SL, bem como por aqueles que tendo vir a acompanhar o SL querem saber mais sobre a versão 4.0. Infelizmente este livro não cobre o desenvolvimento para Windows Phone 7, mas ainda assim é uma excelente opção para quem ao desenvolver com SL para Windows Phone 7 pretende aproveitar os conhecimentos adquiridos de SL para desenvolver para web e desktops. Importante para muitos é o facto de este livro estar escrito em Português.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.fca.pt/cgi-bin/fca_main.cgi/?op=2&amp;amp;isbn=978-972-722-668-9"&gt;&lt;img style="display:inline;" border="0" alt="alt" src="http://www.fca.pt/ximages/978-972-722-668-9.gif" /&gt;&lt;/a&gt; (clicar no livro para ir para o site da FCA)&lt;/p&gt;  &lt;p&gt;- Last but not least, fui nomeado de novo MVP pela Microsoft! Continuo com a competência ‘Device Application Development’ pelas minhas contribuições ligadas ao desenvolvimento de aplicações em .NET Compact Framework para Windows Mobile e ao SQL Server Compact&lt;/p&gt;      &lt;p&gt;&lt;img src="http://www.mundomovel.com/blog/imgs/logomvp.png" alt="" /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1779627" width="1" height="1"&gt;</content><author><name>AlbertoSilva</name><uri>http://msmvps.com/members/AlbertoSilva/default.aspx</uri></author><category term="Novidades" scheme="http://msmvps.com/blogs/albertosilva/archive/tags/Novidades/default.aspx" /><category term="MSDN" scheme="http://msmvps.com/blogs/albertosilva/archive/tags/MSDN/default.aspx" /><category term="WP7dev" scheme="http://msmvps.com/blogs/albertosilva/archive/tags/WP7dev/default.aspx" /></entry></feed>