<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>@{ new Blog(&#34;Leandro Prado&#34;); }</title>
	<atom:link href="http://www.leandroprado.com.br/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.leandroprado.com.br</link>
	<description>SOA - WebServices - Arquitetura - Microsoft .NET</description>
	<lastBuildDate>Mon, 07 May 2012 12:48:32 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Custom Work Item Controls</title>
		<link>http://www.leandroprado.com.br/2012/05/custom-work-item-controls/#utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=custom-work-item-controls</link>
		<comments>http://www.leandroprado.com.br/2012/05/custom-work-item-controls/#comments</comments>
		<pubDate>Sat, 05 May 2012 20:39:19 +0000</pubDate>
		<dc:creator>Leandro Prado</dc:creator>
				<category><![CDATA[TFS 2010]]></category>
		<category><![CDATA[WorkItem]]></category>

		<guid isPermaLink="false">http://www.leandroprado.com.br/?p=2257</guid>
		<description><![CDATA[Muitas vezes quando trabalhamos com Work Items no TFS 2010 temos a necessidade de criar controles customizados, esse post vou descrever como criar um novo controle e adicionar em um...]]></description>
			<content:encoded><![CDATA[<p>Muitas vezes quando trabalhamos com Work Items no TFS 2010 temos a necessidade de criar controles customizados, esse post vou descrever como criar um novo controle e adicionar em um tipo de Work Item</p>
<h3>Criando o controle</h3>
<p>Primeiro de tudo temos que criar um novo projeto do tipo Class Library e adicionar a referência para WorkItemTracking.Controls essa DLL fica no diretório abaixo</p>
<p>C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies \Microsoft.TeamFoundation.WorkItemTracking.Controls.dll</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/05/customcontrols_imagem1.png"><img class="alignnone size-full wp-image-2263" title="Projeto Criado" src="http://www.leandroprado.com.br/wp-content/uploads/2012/05/customcontrols_imagem1.png" alt="" width="382" height="215" /></a></p>
<p>Agora vamos adicionar um novo User Control ao projeto</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/05/customcontrols_imagem2.png"><img class="alignnone  wp-image-2264" title="User Control" src="http://www.leandroprado.com.br/wp-content/uploads/2012/05/customcontrols_imagem2.png" alt="" width="596" height="430" /></a></p>
<p>Todo controle deve ser herdado da interface <em><strong>IWorkItemControl</strong></em></p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/05/customcontrols_imagem4.png"><img class="alignnone size-full wp-image-2265" title="Herança" src="http://www.leandroprado.com.br/wp-content/uploads/2012/05/customcontrols_imagem4.png" alt="" width="557" height="117" /></a></p>
<p>Para esse exemplo adicione uma label e um texto</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/05/customcontrols_imagem3.png"><img class="alignnone size-full wp-image-2266" title="Controle" src="http://www.leandroprado.com.br/wp-content/uploads/2012/05/customcontrols_imagem3.png" alt="" width="175" height="175" /></a></p>
<p>Agora temos que criar um arquivo <em><strong>.wicc</strong></em>, esse arquivo irá conter a definição do nosso controle</p>
<pre class="brush: xml; title: ; notranslate">
&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?&gt;
&lt;CustomControl xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot;&gt;
  &lt;Assembly&gt;CustomControls.dll&lt;/Assembly&gt;
  &lt;FullClassName&gt;CustomControls.WorkItemCustomControls&lt;/FullClassName&gt;
&lt;/CustomControl&gt;
</pre>
<h3>Instalando o controle</h3>
<p>Para instalar o novo controle temos que copiar a DLL e o arquivo .wicc para o seguinte diretório</p>
<p>C:\ProgramData\Microsoft\Team Foundation\Work Item Tracking\Custom Controls\10.0</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/05/customcontrols_imagem5.png"><img class="alignnone  wp-image-2269" title="Diretório" src="http://www.leandroprado.com.br/wp-content/uploads/2012/05/customcontrols_imagem5.png" alt="" width="595" height="171" /></a></p>
<p><em><strong>Lembrando que a DLL e o arquivo .wicc devem estar no servidor do TFS e também na máquina local</strong></em></p>
<h3>Usando</h3>
<p>Agora vamos adicionar esse controle no work item <em><strong>Task</strong></em> para isso vamos baixar o arquivo Task.xml usando o comando abaixo</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/05/customcontrols_imagem6.png"><img class="alignnone  wp-image-2274" title="Exportando o Work Item" src="http://www.leandroprado.com.br/wp-content/uploads/2012/05/customcontrols_imagem6.png" alt="" width="590" height="72" /></a></p>
<p>Adicione uma nova aba, e dentro dessa aba o nosso novo controle</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/05/customcontrols_imagem7.png"><img class="alignnone size-full wp-image-2275" title="Adicionando o controle" src="http://www.leandroprado.com.br/wp-content/uploads/2012/05/customcontrols_imagem7.png" alt="" width="529" height="139" /></a></p>
<p>Depois de alterado temos que atualizar o work item no TFS usando o comando abaixo</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/05/customcontrols_imagem8.png"><img class="alignnone  wp-image-2276" title="Importando o Work Item" src="http://www.leandroprado.com.br/wp-content/uploads/2012/05/customcontrols_imagem8.png" alt="" width="592" height="74" /></a></p>
<p>Agora quando vamos criar um novo work item do tipo Task podemos ver o nosso novo controle</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/05/customcontrols_imagem9.png"><img class="alignnone  wp-image-2277" title="Resultado" src="http://www.leandroprado.com.br/wp-content/uploads/2012/05/customcontrols_imagem9.png" alt="" width="591" height="349" /></a></p>
<p><strong>Referências</strong></p>
<p><a href="http://nickhoggard.wordpress.com/2009/11/12/tfs-2010-beta-2-custom-work-item-controls-step-1-getting-started/" title="http://nickhoggard.wordpress.com/2009/11/12/tfs-2010-beta-2-custom-work-item-controls-step-1-getting-started/" target="_blank">http://nickhoggard.wordpress.com/2009/11/12/tfs-2010-beta-2-custom-work-item-controls-step-1-getting-started/</a></p>
<p>No próximo post estaremos criando um controle para pesquisar documentos no Sharepoint e vincular ao Work Item</p>
<p>Deixe seu comentário, opinião, crítica</p>
<p>Aquele abraço!</p>
<h2  class="related_post_title">Leia mais</h2><ul class="related_post"><li><a href="http://www.leandroprado.com.br/2012/01/rastreamento-de-work-items-no-tfs-2010/" title="Rastreamento de Work Items no TFS 2010">Rastreamento de Work Items no TFS 2010</a></li><li><a href="http://www.leandroprado.com.br/2011/11/integrando-sua-aplicacao-com-o-tfs-2010/" title="Integrando sua aplicação com o TFS 2010">Integrando sua aplicação com o TFS 2010</a></li><li><a href="http://www.leandroprado.com.br/2011/06/revista-mundo-net-customizando-work-item/" title="Revista Mundo .NET &#8211; Customizando Work Item">Revista Mundo .NET &#8211; Customizando Work Item</a></li><li><a href="http://www.leandroprado.com.br/2011/01/customizando-workitem-no-tfs-2010/" title="Customizando WorkItem no TFS 2010">Customizando WorkItem no TFS 2010</a></li><li><a href="http://www.leandroprado.com.br/2012/04/publicando-sua-aplicacao-no-iis-com-tfs-2010/" title="Publicando sua aplicação no IIS com TFS 2010">Publicando sua aplicação no IIS com TFS 2010</a></li><li><a href="http://www.leandroprado.com.br/2012/03/no-code-coverage-results/" title="No Code Coverage Results">No Code Coverage Results</a></li><li><a href="http://www.leandroprado.com.br/2012/02/tfs-express/" title="TFS Express">TFS Express</a></li><li><a href="http://www.leandroprado.com.br/2012/01/customizando-o-portal-do-projeto/" title="Customizando o portal do projeto">Customizando o portal do projeto</a></li><li><a href="http://www.leandroprado.com.br/2012/01/treinamento-de-alm-em-sao-paulo/" title="Treinamento de ALM em São Paulo ">Treinamento de ALM em São Paulo </a></li><li><a href="http://www.leandroprado.com.br/2011/11/configurando-build-com-tfs-2010/" title="Configurando Build com TFS 2010">Configurando Build com TFS 2010</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.leandroprado.com.br/2012/05/custom-work-item-controls/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Publicando sua aplicação no IIS com TFS 2010</title>
		<link>http://www.leandroprado.com.br/2012/04/publicando-sua-aplicacao-no-iis-com-tfs-2010/#utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=publicando-sua-aplicacao-no-iis-com-tfs-2010</link>
		<comments>http://www.leandroprado.com.br/2012/04/publicando-sua-aplicacao-no-iis-com-tfs-2010/#comments</comments>
		<pubDate>Tue, 10 Apr 2012 22:40:04 +0000</pubDate>
		<dc:creator>Leandro Prado</dc:creator>
				<category><![CDATA[TFS 2010]]></category>
		<category><![CDATA[Build]]></category>
		<category><![CDATA[TFS Build]]></category>

		<guid isPermaLink="false">http://www.leandroprado.com.br/?p=2132</guid>
		<description><![CDATA[Já descrevi aqui como utilizar o build automático usando o TFS 2010, porém nesse post o build era copiado apenas para uma pasta compartilhada no servidor de Build, mas como...]]></description>
			<content:encoded><![CDATA[<p>Já descrevi <a title="Configurando Build com TFS 2010" href="http://www.leandroprado.com.br/2011/11/configurando-build-com-tfs-2010/" target="_blank">aqui</a> como utilizar o build automático usando o TFS 2010, porém nesse post o build era copiado apenas para uma pasta compartilhada no servidor de Build, mas como fazer para publicar a aplicação direto no IIS?</p>
<p>Nesse post vou descrever como  podemos publicar nossa aplicação em diversos ambientes com o IIS 7</p>
<h3>1) WebDeployment Tool</h3>
<p>Primeiro de tudo temos que instalar no servidor onde está o IIS a ferramenta WebDeployment Tool 2.1 que pode ser instalado usando o WebPlataform Installer</p>
<p>Essa ferramenta irá nos auxiliar a conectar no IIS para fazer a publicação da nossa aplicação</p>
<p>Depois de instalado o WebPlataform Installer basta localizar o aplicativo e instalar</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/03/deploy_imagem1.png"><img class="alignnone  wp-image-2205" title="Instalar WebDeployment Tool" src="http://www.leandroprado.com.br/wp-content/uploads/2012/03/deploy_imagem1.png" alt="" width="596" height="412" /></a></p>
<h3>Configurando a aplicação</h3>
<p>Quando estamos falando de publicação de aplicações, sempre temos vários ambientes como Teste, Homologação e Produção e para cada ambiente desses sempre vamos ter diferentes configurações, geralmente a configuração que mais se altera é a string de conexão, onde para cada ambiente vamos ter uma banco de dados diferentes</p>
<h3>Web.Config Transformations</h3>
<p>Como podemos resolver esse problema, já que nosso build será automático, e não queremos ficar configurando na mão?</p>
<p>A resposta está no post anterior, onde falamos de<a title="Como configurar web.config Transform" href="http://www.leandroprado.com.br/2012/03/como-configurar-web-config-transform/" target="_blank"> Web.Config Transform</a>, configurando nossos Web.Configs para cada ambiente, no build do TFS podemos setar para usar aquela configuração do Web.Config</p>
<p>Outra configuração que temos que fazer em nosso projeto é editar o arquivo csproj, clique com o botão direito sobre o projeto e selecione a opção <strong>Unload Project</strong></p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/03/deploy_imagem2.png"><img class="alignnone size-full wp-image-2215" title="Unload Project" src="http://www.leandroprado.com.br/wp-content/uploads/2012/03/deploy_imagem2.png" alt="" width="398" height="416" /></a></p>
<p>Novamente clique com o botão direito sobre o projeto e selecione a opção <strong>Edit WebConfigTransforms.csproj</strong></p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/03/deploy_imagem3.png"><img class="alignnone size-full wp-image-2216" title="Editar o projeto" src="http://www.leandroprado.com.br/wp-content/uploads/2012/03/deploy_imagem3.png" alt="" width="367" height="209" /></a></p>
<p>No final do arquivo adicione as seguintes linhas</p>
<pre class="brush: xml; title: ; notranslate">
  &lt;/ProjectExtensions&gt;
  &lt;Target Name=&quot;AfterBuild&quot;&gt;
    &lt;TransformXml
        Condition=&quot;Exists('$(OutDir)\_PublishedWebsites\$(TargetName)')&quot;
        Source=&quot;Web.config&quot;
        Transform=&quot;$(ProjectConfigTransformFileName)&quot;
        Destination=&quot;$(OutDir)\_PublishedWebsites\$(TargetName)\Web.config&quot; /&gt;
  &lt;/Target&gt;
</pre>
<p>Essa configuração é necessária para quando o build do TFS for executado, o Web.Config Transform também seja executado, para mais detalhes acessar essa thread no fórum do MSDN &#8211; <a title="http://social.msdn.microsoft.com/Forums/en-US/tfsbuild/thread/d5c6cc7b-fbb1-4299-a8af-ef602bad8898/" href="http://social.msdn.microsoft.com/Forums/en-US/tfsbuild/thread/d5c6cc7b-fbb1-4299-a8af-ef602bad8898/" target="_blank">http://social.msdn.microsoft.com/Forums/en-US/tfsbuild/thread/d5c6cc7b-fbb1-4299-a8af-ef602bad8898/</a></p>
<p>Depois clique novamente com o botão direito sobre o projeto e selecione a opção <strong>Reload Project</strong></p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/03/deploy_imagem4.png"><img class="alignnone size-full wp-image-2221" title="Reload Project" src="http://www.leandroprado.com.br/wp-content/uploads/2012/03/deploy_imagem4.png" alt="" width="350" height="229" /></a></p>
<p>Outra opção para editar o arquivo csproj é usar o <a href="http://visualstudiogallery.msdn.microsoft.com/e5f41ad9-4edc-4912-bca3-91147db95b99" target="_blank">PowerCommands for Visual Studio 2010</a></p>
<h3>Configurando o IIS</h3>
<p>Vamos criar os ambientes no IIS, para isso abra o IIS 7 e clique com o botão direito sobre <strong>Sites</strong> e selecione a opção <strong>Add Web Site</strong></p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/03/deploy_imagem5.png"><img class="alignnone size-full wp-image-2223" title="Add Web Site" src="http://www.leandroprado.com.br/wp-content/uploads/2012/03/deploy_imagem5.png" alt="" width="290" height="300" /></a></p>
<p>Preencha os campos conforme a imagem abaixo:</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/03/deploy_imagem61.png"><img class="alignnone size-full wp-image-2225" title="Configuração do Web Site" src="http://www.leandroprado.com.br/wp-content/uploads/2012/03/deploy_imagem61.png" alt="" width="448" height="440" /></a></p>
<p>Repita esse procedimento para os ambientes de <strong>Homologação e Testes</strong>, ao final teremos 3 ambientes separados, conforme abaixo</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/03/deploy_imagem7.png"><img class="alignnone  wp-image-2226" title="Ambientes criados" src="http://www.leandroprado.com.br/wp-content/uploads/2012/03/deploy_imagem7.png" alt="" width="595" height="95" /></a></p>
<h3>Configurando o Build</h3>
<p>Vamos criar um Build Definition para cada ambiente, para mais informações de como criar um Build Definitions veja o post <a title="Configurando Build com TFS 2010" href="http://www.leandroprado.com.br/2011/11/configurando-build-com-tfs-2010/">Configurando Build com TFS 2010</a>, veja na imagem abaixo como deve ficar</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/03/deploy_imagem8.png"><img class="alignnone size-full wp-image-2229" title="Build Definitions" src="http://www.leandroprado.com.br/wp-content/uploads/2012/03/deploy_imagem8.png" alt="" width="319" height="229" /></a></p>
<p>Abara o arquivo <strong>Projeto SDL &#8211; Build Manual &#8211; Teste</strong> e clique na aba <strong>Process</strong> e depois <strong>Configurations to Build</strong></p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/03/deploy_imagem9.png"><img class="alignnone  wp-image-2230" title="Configurations to Build" src="http://www.leandroprado.com.br/wp-content/uploads/2012/03/deploy_imagem9.png" alt="" width="590" height="312" /></a></p>
<p>Clique em <strong>Add</strong></p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/03/deploy_imagem10.png"><img class="alignnone size-full wp-image-2231" title="Adicionar configurações" src="http://www.leandroprado.com.br/wp-content/uploads/2012/03/deploy_imagem10.png" alt="" width="456" height="360" /></a></p>
<p>Digite o nome do ambiente, nesse caso <strong>Teste</strong> que é o mesmo nome do <strong>Web.Teste.Config </strong>e no campo<strong> Plataform </strong>selecione<strong> Any CPU, </strong>conforme a imagem abaixo</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/03/deploy_imagem11.png"><img class="alignnone size-full wp-image-2232" title="Ambiente de Teste" src="http://www.leandroprado.com.br/wp-content/uploads/2012/03/deploy_imagem11.png" alt="" width="456" height="360" /></a></p>
<p>Ainda temos que passar alguns parâmetros para o MsBuild, para isso selecione a opção <strong>Advanced</strong> e no campo <strong>MSBuild Argument</strong> adicione as seguintes linhas</p>
<p style="text-align: left;">/p:DeployOnBuild=True/p:DeployTarget=MsDeployPublish /p:CreatePackageOnPublish=True /p:MSDeployPublishMethod=RemoteAgent <strong>/p:MSDeployServiceUrl=http://servidor/msdeployagentservice</strong> <strong>/p:DeployIisAppPath=&#8221;teste&#8221; /p:UserName=dominio\usuario /p:Password=senha</strong></p>
<p style="text-align: left;"><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/03/deploy_imagem12.png"><img class="alignnone  wp-image-2237" title="MS Build Arguments" src="http://www.leandroprado.com.br/wp-content/uploads/2012/03/deploy_imagem12.png" alt="" width="594" height="429" /></a></p>
<p>Os comandos mais importantes são:</p>
<ul>
<li><strong>/p:MSDeployServiceUrl=http://servidor/msdeployagentservice</strong> &#8211; Agente responsável pela publicação, foi instalado pelo Web Deployment Tool<br />
<strong></strong></li>
<li><strong>/p:DeployIisAppPath=&#8221;teste&#8221;</strong>- Nome do Web Site que criamos lá no IIS<strong><br />
</strong></li>
<li><strong>/p:UserName=dominio\usuario </strong>- Usuário que tem permissão no Web Site do IIS<strong><br />
</strong></li>
<li><strong>/p:Password=senha </strong>- Senha do usuário<strong><br />
</strong></li>
</ul>
<p>Repita esse procedimento para os builds definitions <strong>Projeto SDL &#8211; Build Manual &#8211; Homologacao e Projeto SDL &#8211; Build Manual &#8211; Producao</strong></p>
<h3>Executando o Build</h3>
<p>Depois de configurado basta executar o build, selecione a opção</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/03/deploy_imagem13.png"><img class="alignnone size-full wp-image-2238" title="Queue New Build" src="http://www.leandroprado.com.br/wp-content/uploads/2012/03/deploy_imagem13.png" alt="" width="380" height="360" /></a></p>
<p>Aguardando a execução dos builds</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/03/deploy_imagem14.png"><img class="alignnone  wp-image-2239" title="Aguardando a execução dos builds" src="http://www.leandroprado.com.br/wp-content/uploads/2012/03/deploy_imagem14.png" alt="" width="597" height="164" /></a></p>
<p>Builds finalizados</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/03/deploy_imagem15.png"><img class="alignnone  wp-image-2240" title="Builds Finalizados" src="http://www.leandroprado.com.br/wp-content/uploads/2012/03/deploy_imagem15.png" alt="" width="595" height="148" /></a></p>
<p>Agora vamos acessar os endereços no IIS e verificar se a publicação ocorreu com sucesso</p>
<h4>Ambiente de Teste</h4>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/03/deploy_imagem16.png"><img class="alignnone  wp-image-2241" title="Build de Teste" src="http://www.leandroprado.com.br/wp-content/uploads/2012/03/deploy_imagem16.png" alt="" width="594" height="445" /></a></p>
<h4>Ambiente de Homologação</h4>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/03/deploy_imagem18.png"><img class="alignnone  wp-image-2243" title="Ambiente de Homologação" src="http://www.leandroprado.com.br/wp-content/uploads/2012/03/deploy_imagem18.png" alt="" width="596" height="447" /></a></p>
<h4>Ambiente de Produção</h4>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/03/deploy_imagem17.png"><img class="alignnone  wp-image-2242" title="Ambiente de Produção" src="http://www.leandroprado.com.br/wp-content/uploads/2012/03/deploy_imagem17.png" alt="" width="594" height="445" /></a></p>
<p>Veja que temos 3 endereços diferentes e 3 configurações distintas sendo uma para cada ambiente</p>
<h3>Referências</h3>
<p><a title="http://vishaljoshi.blogspot.com.br/2010/11/team-build-web-deployment-web-deploy-vs.html" href="http://vishaljoshi.blogspot.com.br/2010/11/team-build-web-deployment-web-deploy-vs.html" target="_blank">http://vishaljoshi.blogspot.com.br/2010/11/team-build-web-deployment-web-deploy-vs.html</a></p>
<p>Deixe seu comentário, opinião, critica</p>
<p>Aquele abraço!</p>
<h2  class="related_post_title">Leia mais</h2><ul class="related_post"><li><a href="http://www.leandroprado.com.br/2012/03/no-code-coverage-results/" title="No Code Coverage Results">No Code Coverage Results</a></li><li><a href="http://www.leandroprado.com.br/2011/11/configurando-build-com-tfs-2010/" title="Configurando Build com TFS 2010">Configurando Build com TFS 2010</a></li><li><a href="http://www.leandroprado.com.br/2012/05/custom-work-item-controls/" title="Custom Work Item Controls">Custom Work Item Controls</a></li><li><a href="http://www.leandroprado.com.br/2012/03/como-configurar-web-config-transform/" title="Como configurar web.config Transform">Como configurar web.config Transform</a></li><li><a href="http://www.leandroprado.com.br/2012/02/tfs-express/" title="TFS Express">TFS Express</a></li><li><a href="http://www.leandroprado.com.br/2012/01/customizando-o-portal-do-projeto/" title="Customizando o portal do projeto">Customizando o portal do projeto</a></li><li><a href="http://www.leandroprado.com.br/2012/01/treinamento-de-alm-em-sao-paulo/" title="Treinamento de ALM em São Paulo ">Treinamento de ALM em São Paulo </a></li><li><a href="http://www.leandroprado.com.br/2012/01/rastreamento-de-work-items-no-tfs-2010/" title="Rastreamento de Work Items no TFS 2010">Rastreamento de Work Items no TFS 2010</a></li><li><a href="http://www.leandroprado.com.br/2011/11/integrando-sua-aplicacao-com-o-tfs-2010/" title="Integrando sua aplicação com o TFS 2010">Integrando sua aplicação com o TFS 2010</a></li><li><a href="http://www.leandroprado.com.br/2011/11/gerenciando-branchs-com-tfs-2010/" title="Gerenciando Branchs com TFS 2010">Gerenciando Branchs com TFS 2010</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.leandroprado.com.br/2012/04/publicando-sua-aplicacao-no-iis-com-tfs-2010/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Como configurar web.config Transform</title>
		<link>http://www.leandroprado.com.br/2012/03/como-configurar-web-config-transform/#utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=como-configurar-web-config-transform</link>
		<comments>http://www.leandroprado.com.br/2012/03/como-configurar-web-config-transform/#comments</comments>
		<pubDate>Sat, 24 Mar 2012 18:13:49 +0000</pubDate>
		<dc:creator>Leandro Prado</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Build]]></category>
		<category><![CDATA[Web.Config]]></category>

		<guid isPermaLink="false">http://www.leandroprado.com.br/?p=2134</guid>
		<description><![CDATA[No ciclo de desenvolvimento de um software temos a tarefa de publicar o software em diferentes ambientes, como Teste, Homologação e Produção e na maioria das vezes essa tarefa envolve...]]></description>
			<content:encoded><![CDATA[<p>No ciclo de desenvolvimento de um software temos a tarefa de publicar o software em diferentes ambientes, como Teste, Homologação e Produção e na maioria das vezes essa tarefa envolve algumas configurações no arquivo Web.Config do projeto para alterar a string de conexão, algumas chaves que devem ser diferentes para cada ambiente</p>
<p>Para resolver esse problema temos um conceito de Transform onde conseguimos configurar quais chaves serão alteradas para cada ambiente</p>
<p>Quando criamos um projeto no Visual Studio, automaticamente temos dois arquivos Web.Config, uma para Debug e outro para Release, veja abaixo:</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/03/transform_imagem1.png"><img class="alignnone size-full wp-image-2176" title="Web.Config padrão" src="http://www.leandroprado.com.br/wp-content/uploads/2012/03/transform_imagem1.png" alt="" width="215" height="304" /></a></p>
<p>Veja que no arquivo Web.Config temos algumas chaves no item ConnectionString e AppSettings, conforme abaixo</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/03/transform_imagem2.png"><img class="alignnone  wp-image-2177" title="Arquivo Web.Config" src="http://www.leandroprado.com.br/wp-content/uploads/2012/03/transform_imagem2.png" alt="" width="591" height="108" /></a></p>
<h3>Configurando o Web.Config.Debug</h3>
<p>Agora vamos configurar essas mesmas chaves para o arquivo Web.Config.Debug</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/03/transform_imagem4.png"><img class="alignnone  wp-image-2179" title="Web.Config.Debug" src="http://www.leandroprado.com.br/wp-content/uploads/2012/03/transform_imagem4.png" alt="" width="595" height="125" /></a></p>
<h3>Configurando o Web.Config.Release</h3>
<p>Agora vamos configurar essas mesmas chaves para o arquivo Web.Config.Release</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/03/transform_imagem3.png"><img class="alignnone  wp-image-2178" title="Web.Config.Release" src="http://www.leandroprado.com.br/wp-content/uploads/2012/03/transform_imagem3.png" alt="" width="597" height="123" /></a></p>
<p>Perceba que temos um novo atributo chamado <strong>xdt:Transform=&#8221;SetAttributes&#8221; xdt:Locator=&#8221;Match(key)&#8221;</strong> esse é o atributo que será responsável por fazer a troca de configuração nos arquivos Web.Config</p>
<p>Depois de realizar a configuração, vamos fazer um publish do software selecionando em qual configuração queremos realizar a publicação conforme abaixo:</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/03/transform_imagem5.png"><img class="alignnone  wp-image-2180" title="Debug" src="http://www.leandroprado.com.br/wp-content/uploads/2012/03/transform_imagem5.png" alt="" width="596" height="428" /></a></p>
<p>Veja o arquivo Web.Config depois de publicado</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/03/transform_imagem5.1.png"><img class="alignnone  wp-image-2182" title="Arquivo alterado" src="http://www.leandroprado.com.br/wp-content/uploads/2012/03/transform_imagem5.1.png" alt="" width="598" height="122" /></a></p>
<h3>Criando uma nova configuração</h3>
<p>Agora vamos criar a nossa própria configuração (Teste, Homologação e Produção) para isso clique em Build -&gt; Configuration Manager</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/03/transform_imagem7.png"><img class="alignnone  wp-image-2184" title="Configuration Manager" src="http://www.leandroprado.com.br/wp-content/uploads/2012/03/transform_imagem7.png" alt="" width="584" height="176" /></a></p>
<p>Clique em New</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/03/transform_imagem8.png"><img class="alignnone  wp-image-2185" title="New Configuration Manager" src="http://www.leandroprado.com.br/wp-content/uploads/2012/03/transform_imagem8.png" alt="" width="595" height="373" /></a></p>
<p>Adicione o Name e selecione Copy Settings from para Empty e clique em OK</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/03/transform_imagem10.png"><img class="alignnone size-full wp-image-2186" title="Configuração - Teste" src="http://www.leandroprado.com.br/wp-content/uploads/2012/03/transform_imagem10.png" alt="" width="436" height="231" /></a></p>
<p>Agora temos que criar o Web.Config para nossa nova configuração, clique com o botão direito sobre Web.Config da aplicação e selecione Add Config Transform</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/03/transform_imagem12.png"><img class="alignnone size-full wp-image-2188" title="Adicionando o novo Web.Config" src="http://www.leandroprado.com.br/wp-content/uploads/2012/03/transform_imagem12.png" alt="" width="411" height="291" /></a></p>
<p>Automaticamente será criando um novo arquivo Web.Teste.Config</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/03/transform_imagem13.png"><img class="alignnone size-full wp-image-2189" title="Novo arquivo Web.Teste.Config" src="http://www.leandroprado.com.br/wp-content/uploads/2012/03/transform_imagem13.png" alt="" width="223" height="341" /></a></p>
<p>Dessa forma podemos criar um Web.Config para cada ambiente que temos e também podemos configurar o Build do TFS para usar essas configurações</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/03/transform_imagem14.png.png"><img class="alignnone size-full wp-image-2210" title="Web.Config para cada ambiente" src="http://www.leandroprado.com.br/wp-content/uploads/2012/03/transform_imagem14.png.png" alt="" width="250" height="306" /></a></p>
<h3>Referências</h3>
<p><a href="http://msdn.microsoft.com/pt-br/vstudio/ff801895">http://msdn.microsoft.com/pt-br/vstudio/ff801895</a></p>
<p><a title="http://msdn.microsoft.com/en-us/library/dd465318.aspx" href="http://msdn.microsoft.com/en-us/library/dd465318.aspx" target="_blank">http://msdn.microsoft.com/en-us/library/dd465318.aspx</a></p>
<p>Qualquer dúvida, opinião, reclamação mande seu comentário!</p>
<p>Aquele Abraço!</p>
<h2  class="related_post_title">Leia mais</h2><ul class="related_post"><li><a href="http://www.leandroprado.com.br/2012/04/publicando-sua-aplicacao-no-iis-com-tfs-2010/" title="Publicando sua aplicação no IIS com TFS 2010">Publicando sua aplicação no IIS com TFS 2010</a></li><li><a href="http://www.leandroprado.com.br/2011/11/configurando-build-com-tfs-2010/" title="Configurando Build com TFS 2010">Configurando Build com TFS 2010</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.leandroprado.com.br/2012/03/como-configurar-web-config-transform/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Como funciona o Lazy Load</title>
		<link>http://www.leandroprado.com.br/2012/03/como-funciona-o-lazy-load/#utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=como-funciona-o-lazy-load</link>
		<comments>http://www.leandroprado.com.br/2012/03/como-funciona-o-lazy-load/#comments</comments>
		<pubDate>Sat, 17 Mar 2012 18:58:21 +0000</pubDate>
		<dc:creator>Leandro Prado</dc:creator>
				<category><![CDATA[Fluent NHibernate]]></category>
		<category><![CDATA[Lazy Load]]></category>
		<category><![CDATA[ORM]]></category>

		<guid isPermaLink="false">http://www.leandroprado.com.br/?p=1478</guid>
		<description><![CDATA[Para finalizar essa nossa série sobre Fluent NHibernate, hoje vamos configurar o Lazy Load Começando com Fluent NHibernate Mapeamentos com Fluent NHibernate Usando o Fluent NHibernate Gerando arquivos HBM Gerar...]]></description>
			<content:encoded><![CDATA[<p>Para finalizar essa nossa série sobre Fluent NHibernate, hoje vamos configurar o Lazy Load</p>
<ol>
<li><a title="Começando com Fluent NHibernate" href="http://www.leandroprado.com.br/2012/01/comecando-com-fluent-nhibernate/" target="_blank">Começando com Fluent NHibernate</a></li>
<li><a title="Mapeamentos com Fluent NHibernate" href="http://www.leandroprado.com.br/2012/01/mapeamentos-com-fluent-nhibernate/" target="_blank">Mapeamentos com Fluent NHibernate</a></li>
<li><a title="Usando o Fluent NHibernate" href="http://www.leandroprado.com.br/2012/01/usando-o-fluent-nhibernate/">Usando o Fluent NHibernate</a></li>
<li><a title="Gerando arquivos HBM com Fluent NHibernate" href="http://www.leandroprado.com.br/2012/01/gerando-arquivos-hbm-com-fluent-nhibernate/">Gerando arquivos HBM</a></li>
<li><a title="Gerar arquivo SQL do mapeamento com Fluent NHibernate" href="http://www.leandroprado.com.br/2012/01/gerar-arquivo-sql-do-mapeamento-com-fluent-nhibernate/">Gerar arquivo SQL do mapeamento</a></li>
<li><a title="Configurando Log4NET" href="http://www.leandroprado.com.br/2012/03/configurando-fluent-nhibernate-com-log4net/" title="Configurando Fluent NHibernate com Log4NET">Configurando Log4NET</a></li>
<li><a title="Como funciona o Lazy Load" href="http://www.leandroprado.com.br/2012/03/como-funciona-o-lazy-load/" title="Como funciona o Lazy Load">Como funciona o Lazy Load</a></li>
</ol>
<h3>O que Lazy Load?</h3>
<p>O conceito de Lazy Load vem dos frameworks de ORM como NHibernate e Entitty Framework. Esse conceito permite que quando temos mapeamentos com associaçãoes entre as entidades sejam carregadas apenas quando realmente forem utilizadas, dessa forma quando efetuamos uma cosulta somente o objeto PAI é carrado em memória, e quando necessitar do objeto FILHO acessamos a propriedade e automaticamente será requisitado para o ORM carregar esse objeto FILHO em memória.</p>
<p>No Fluent NHibernate o Lazy Load vem configurado como default TRUE, isso quer dizer que sempre será carregado apenas os objetos PAI e quando requisitado será carregado os objetos FILHOS</p>
<p>Para ver o Lazy funcionando vamos alterar a nossa classe Pessoa desabilitando o Lazy Load, conforme abaixo</p>
<pre class="brush: csharp; title: ; notranslate">
HasMany(x =&gt; x.Telefones)
    .Cascade.All()
    .Not.LazyLoad();
</pre>
<p>E quando executamos uma consulta (Pesquisar_Pessoa_Fisica) podemos ver que será executada duas querys no banco de uma só vez</p>
<pre class="brush: sql; title: ; notranslate">
NHibernate.SQL: 2012-03-17 15:38:47,420 DEBUG SQL:0 -
SELECT
	pessoafisi0_.Pessoa_id as Codigo3_0_,
	pessoafisi0_1_.Nome as Nome3_0_,
	pessoafisi0_1_.Endereco as Endereco3_0_,
	pessoafisi0_1_.Cep as Cep3_0_,
	pessoafisi0_1_.Email as Email3_0_,
	pessoafisi0_1_.DataCadastro as DataCada6_3_0_,
	pessoafisi0_1_.Status as Status3_0_,
	pessoafisi0_1_.Departamento_id as Departam8_3_0_,
	pessoafisi0_.Cpf as Cpf4_0_,
	pessoafisi0_.Nacionalidade as Nacional3_4_0_
FROM
	[PessoaFisica] pessoafisi0_
inner join [Pessoa]
	pessoafisi0_1_ on pessoafisi0_.Pessoa_id=pessoafisi0_1_.Codigo
WHERE
	pessoafisi0_.Pessoa_id=@p0;
	@p0 = 4 [Type: Int32 (0)]

NHibernate.SQL: 2012-03-17 15:38:47,610 DEBUG SQL:0 -
SELECT
	telefones0_.Pessoa_id as Pessoa4_1_,
	telefones0_.Codigo as Codigo1_,
	telefones0_.Codigo as Codigo6_0_,
	telefones0_.CodigoDdd as CodigoDdd6_0_,
	telefones0_.Numero as Numero6_0_,
	telefones0_.Pessoa_id as Pessoa4_6_0_
FROM
	[Telefone] telefones0_
WHERE
	telefones0_.Pessoa_id=@p0;
	@p0 = 4 [Type: Int32 (0)]
</pre>
<p>Agora se deixarmos o lazy load trabalhar, a segunda query só irá ser execuada quando chamar a propriedade _obj.Telefones</p>
<p>E dessa forma chegamos aom FIM dessa série sobre Fluent NHibernate, o código fonte dessa aplicação está em <a href="http://fluentnhibernate.codeplex.com" target="_blank">http://fluentnhibernate.codeplex.com</a></p>
<p>Qualquer dúvida, opinião, reclamação mande seu comentário!</p>
<p>Aquele Abraço!</p>
<h2  class="related_post_title">Leia mais</h2><ul class="related_post"><li><a href="http://www.leandroprado.com.br/2012/03/configurando-fluent-nhibernate-com-log4net/" title="Configurando Fluent NHibernate com Log4NET">Configurando Fluent NHibernate com Log4NET</a></li><li><a href="http://www.leandroprado.com.br/2012/01/gerando-arquivos-hbm-com-fluent-nhibernate/" title="Gerando arquivos HBM com Fluent NHibernate">Gerando arquivos HBM com Fluent NHibernate</a></li><li><a href="http://www.leandroprado.com.br/2012/01/gerar-arquivo-sql-do-mapeamento-com-fluent-nhibernate/" title="Gerar arquivo SQL do mapeamento com Fluent NHibernate">Gerar arquivo SQL do mapeamento com Fluent NHibernate</a></li><li><a href="http://www.leandroprado.com.br/2012/01/usando-o-fluent-nhibernate/" title="Usando o Fluent NHibernate">Usando o Fluent NHibernate</a></li><li><a href="http://www.leandroprado.com.br/2012/01/mapeamentos-com-fluent-nhibernate/" title="Mapeamentos com Fluent NHibernate">Mapeamentos com Fluent NHibernate</a></li><li><a href="http://www.leandroprado.com.br/2012/01/comecando-com-fluent-nhibernate/" title="Começando com Fluent NHibernate">Começando com Fluent NHibernate</a></li><li><a href="http://www.leandroprado.com.br/2010/10/crud-com-entity-framework-e-asp-net-mvc/" title="CRUD com Entity Framework e ASP NET MVC">CRUD com Entity Framework e ASP NET MVC</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.leandroprado.com.br/2012/03/como-funciona-o-lazy-load/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Configurando Fluent NHibernate com Log4NET</title>
		<link>http://www.leandroprado.com.br/2012/03/configurando-fluent-nhibernate-com-log4net/#utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=configurando-fluent-nhibernate-com-log4net</link>
		<comments>http://www.leandroprado.com.br/2012/03/configurando-fluent-nhibernate-com-log4net/#comments</comments>
		<pubDate>Sat, 17 Mar 2012 18:57:43 +0000</pubDate>
		<dc:creator>Leandro Prado</dc:creator>
				<category><![CDATA[Fluent NHibernate]]></category>
		<category><![CDATA[Log4NET]]></category>
		<category><![CDATA[ORM]]></category>

		<guid isPermaLink="false">http://www.leandroprado.com.br/?p=1474</guid>
		<description><![CDATA[Vamos dar sequência em nossa série sobre Fluent NHibernate Começando com Fluent NHibernate Mapeamentos com Fluent NHibernate Usando o Fluent NHibernate Gerando arquivos HBM Gerar arquivo SQL do mapeamento Configurando...]]></description>
			<content:encoded><![CDATA[<p>Vamos dar sequência em nossa série sobre Fluent NHibernate</p>
<ol>
<li><a title="Começando com Fluent NHibernate" href="http://www.leandroprado.com.br/2012/01/comecando-com-fluent-nhibernate/" target="_blank">Começando com Fluent NHibernate</a></li>
<li><a title="Mapeamentos com Fluent NHibernate" href="http://www.leandroprado.com.br/2012/01/mapeamentos-com-fluent-nhibernate/" target="_blank">Mapeamentos com Fluent NHibernate</a></li>
<li><a title="Usando o Fluent NHibernate" href="http://www.leandroprado.com.br/2012/01/usando-o-fluent-nhibernate/">Usando o Fluent NHibernate</a></li>
<li><a title="Gerando arquivos HBM com Fluent NHibernate" href="http://www.leandroprado.com.br/2012/01/gerando-arquivos-hbm-com-fluent-nhibernate/">Gerando arquivos HBM</a></li>
<li><a title="Gerar arquivo SQL do mapeamento com Fluent NHibernate" href="http://www.leandroprado.com.br/2012/01/gerar-arquivo-sql-do-mapeamento-com-fluent-nhibernate/">Gerar arquivo SQL do mapeamento</a></li>
<li><a title="Configurando Log4NET" href="http://www.leandroprado.com.br/2012/03/configurando-fluent-nhibernate-com-log4net/" title="Configurando Fluent NHibernate com Log4NET">Configurando Log4NET</a></li>
<li><a title="Como funciona o Lazy Load" href="http://www.leandroprado.com.br/2012/03/como-funciona-o-lazy-load/" title="Como funciona o Lazy Load">Como funciona o Lazy Load</a></li>
</ol>
<p>Quando estamos trabalhando com o Fluent NHibernate muitas vezes precisamos saber o que está acontecendo por &#8220;detrás dos panos&#8221; e uma das opções nesse caso é configurar o log usando o framework Log4Net</p>
<h3>1) Instalação</h3>
<p>Primeiro de tudo temos que adicionar a referência do Log4Net em nossa aplicação, vamos usar o NuGet para adicionar essa referência, basta abrir o Package Manager Console (View -&gt; Other Windows -&gt; Package Manager Console) e digitar a linha de comando <strong>Install-Package log4net </strong>conforme abaixo:</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/03/log4net_imagem1.png"><img class="alignnone  wp-image-2140" title="Instalando o Log4Net" src="http://www.leandroprado.com.br/wp-content/uploads/2012/03/log4net_imagem1.png" alt="" width="590" height="278" /></a></p>
<h3>2) Configuração</h3>
<p>Depois de instalado temos que configurar, para isso abra o arquivo de configuração (web.config, app.config) e adicione as seguintes linhas</p>
<pre class="brush: xml; title: ; notranslate">
&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?&gt;
&lt;configuration&gt;
    &lt;configSections&gt;
        &lt;!-- Others sections --&gt;
        &lt;section name=&quot;log4net&quot;
          type=&quot;log4net.Config.Log4NetConfigurationSectionHandler,log4net&quot; /&gt;
    &lt;/configSections&gt;

    &lt;!-- This section contains the log4net configuration settings --&gt;
    &lt;log4net debug=&quot;false&quot;&gt;

        &lt;!-- Define some output appenders --&gt;
        &lt;appender name=&quot;TraceAppender&quot; type=&quot;log4net.Appender.TraceAppender, log4net&quot;&gt;
            &lt;layout type=&quot;log4net.Layout.PatternLayout,log4net&quot;&gt;
                &lt;param name=&quot;ConversionPattern&quot; value=&quot;%d{ABSOLUTE} %-5p %c{1}:%L - %m%n&quot; /&gt;
            &lt;/layout&gt;
        &lt;/appender&gt;

        &lt;appender name=&quot;FileAppender&quot; type=&quot;log4net.Appender.RollingFileAppender,log4net&quot; &gt;
            &lt;param name=&quot;File&quot; value=&quot;log.txt&quot; /&gt;
            &lt;param name=&quot;AppendToFile&quot; value=&quot;false&quot; /&gt;
            &lt;param name=&quot;RollingStyle&quot; value=&quot;Date&quot; /&gt;
            &lt;param name=&quot;DatePattern&quot; value=&quot;yyyy.MM.dd&quot; /&gt;
            &lt;param name=&quot;StaticLogFileName&quot; value=&quot;true&quot; /&gt;

            &lt;layout type=&quot;log4net.Layout.PatternLayout,log4net&quot;&gt;
                &lt;param name=&quot;ConversionPattern&quot; value=&quot;%d [%t] %-5p %c - %m%n&quot; /&gt;
            &lt;/layout&gt;
        &lt;/appender&gt;

        &lt;!-- Setup the root category, add the appenders and set the default priority --&gt;
        &lt;root&gt;
            &lt;priority value=&quot;DEBUG&quot; /&gt;
            &lt;appender-ref ref=&quot;TraceAppender&quot; /&gt;
            &lt;appender-ref ref=&quot;FileAppender&quot; /&gt;
        &lt;/root&gt;

    &lt;/log4net&gt;

&lt;/configuration&gt;
</pre>
<p>Quando executamos nossa aplicação podemos ver o log na janela de debug do Visual Studio</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/03/log4net_imagem2.png"><img class="alignnone  wp-image-2143" title="Log no Console" src="http://www.leandroprado.com.br/wp-content/uploads/2012/03/log4net_imagem2.png" alt="" width="589" height="271" /></a></p>
<p>Também é gerado um arquivo de log</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/03/log4net_imagem3.png"><img class="alignnone size-full wp-image-2144" title="Arquivo de Log" src="http://www.leandroprado.com.br/wp-content/uploads/2012/03/log4net_imagem3.png" alt="" width="408" height="446" /></a></p>
<p>Podemos perceber que esse log está todos os eventos do NHibernate, agora podemos configurar outra seção para fazer log apenas das SQLs que estão sendo executadas no banco, veja abaixo</p>
<pre class="brush: xml; title: ; notranslate">
&lt;!-- Setup the root category, add the appenders and set the default priority --&gt;
&lt;root&gt;
    &lt;priority value=&quot;DEBUG&quot; /&gt;
    &lt;appender-ref ref=&quot;FileAppender&quot; /&gt;
&lt;/root&gt;

&lt;logger name=&quot;NHibernate.SQL&quot;&gt;
    &lt;level value=&quot;DEBUG&quot; /&gt;
    &lt;appender-ref ref=&quot;TraceAppender&quot; /&gt;
&lt;/logger&gt;
</pre>
<p>O código fonte dessa aplicação está em <a href="http://fluentnhibernate.codeplex.com">http://fluentnhibernate.codeplex.com</a></p>
<p>Deixe seu comentário, opinião, critica</p>
<p>Aquele abraço!</p>
<h2  class="related_post_title">Leia mais</h2><ul class="related_post"><li><a href="http://www.leandroprado.com.br/2012/03/como-funciona-o-lazy-load/" title="Como funciona o Lazy Load">Como funciona o Lazy Load</a></li><li><a href="http://www.leandroprado.com.br/2012/01/gerando-arquivos-hbm-com-fluent-nhibernate/" title="Gerando arquivos HBM com Fluent NHibernate">Gerando arquivos HBM com Fluent NHibernate</a></li><li><a href="http://www.leandroprado.com.br/2012/01/gerar-arquivo-sql-do-mapeamento-com-fluent-nhibernate/" title="Gerar arquivo SQL do mapeamento com Fluent NHibernate">Gerar arquivo SQL do mapeamento com Fluent NHibernate</a></li><li><a href="http://www.leandroprado.com.br/2012/01/usando-o-fluent-nhibernate/" title="Usando o Fluent NHibernate">Usando o Fluent NHibernate</a></li><li><a href="http://www.leandroprado.com.br/2012/01/mapeamentos-com-fluent-nhibernate/" title="Mapeamentos com Fluent NHibernate">Mapeamentos com Fluent NHibernate</a></li><li><a href="http://www.leandroprado.com.br/2012/01/comecando-com-fluent-nhibernate/" title="Começando com Fluent NHibernate">Começando com Fluent NHibernate</a></li><li><a href="http://www.leandroprado.com.br/2010/10/crud-com-entity-framework-e-asp-net-mvc/" title="CRUD com Entity Framework e ASP NET MVC">CRUD com Entity Framework e ASP NET MVC</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.leandroprado.com.br/2012/03/configurando-fluent-nhibernate-com-log4net/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Novidades do Team Foundation Server 11 Beta</title>
		<link>http://www.leandroprado.com.br/2012/03/novidades-do-team-foundation-server-11-beta/#utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=novidades-do-team-foundation-server-11-beta</link>
		<comments>http://www.leandroprado.com.br/2012/03/novidades-do-team-foundation-server-11-beta/#comments</comments>
		<pubDate>Fri, 09 Mar 2012 03:26:09 +0000</pubDate>
		<dc:creator>Leandro Prado</dc:creator>
				<category><![CDATA[TFS 11]]></category>
		<category><![CDATA[product backlog]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[sprint]]></category>
		<category><![CDATA[tfs 2011]]></category>

		<guid isPermaLink="false">http://www.leandroprado.com.br/?p=2110</guid>
		<description><![CDATA[Pessoal Hoje comecei a brincar um pouco e ver as novidades do Team Foundation Server 11, segue abaixo algumas novidades que percebi logo de início 1) Quando vamos criar um...]]></description>
			<content:encoded><![CDATA[<p>Pessoal</p>
<p>Hoje comecei a brincar um pouco e ver as novidades do Team Foundation Server 11, segue abaixo algumas novidades que percebi logo de início</p>
<p>1) Quando vamos criar um projeto já temos um Process Template padrão para SCRUM</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/03/novidades_imagem1.png"><img class="alignnone  wp-image-2111" title="Process Template Scrum" src="http://www.leandroprado.com.br/wp-content/uploads/2012/03/novidades_imagem1.png" alt="" width="599" height="485" /></a></p>
<p>2) O portal WebAcess está bem diferente, aqui poderemos criar Product Backlog, Team, etc&#8230;</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/03/novidades_imagem2.png"><img class="alignnone  wp-image-2112" title="Portal do Projeto" src="http://www.leandroprado.com.br/wp-content/uploads/2012/03/novidades_imagem2.png" alt="" width="599" height="419" /></a></p>
<p>3) Para cada Sprint podemos colocar datas de início e fim</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/03/novidades_imagem3.png"><img class="alignnone  wp-image-2115" title="Datas nas Sprints" src="http://www.leandroprado.com.br/wp-content/uploads/2012/03/novidades_imagem3.png" alt="" width="596" height="424" /></a></p>
<p>4) Gerenciamento de permissões, no TFS 11 temos um conceito de &#8220;Times&#8221; para alocar as atividades nos Work Items</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/03/novidades_imagem41.png"><img class="alignnone  wp-image-2123" title="Criação de Times" src="http://www.leandroprado.com.br/wp-content/uploads/2012/03/novidades_imagem41.png" alt="" width="598" height="458" /></a></p>
<p>5) Capacidade de trabalho de um time, e a atividade de cada um no time</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/03/novidades_imagem6.png"><img title="Capacidade do time" src="http://www.leandroprado.com.br/wp-content/uploads/2012/03/novidades_imagem6.png" alt="" width="599" height="506" /></a></p>
<p>6) Criação de Product Backlog</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/03/novidades_imagem5.png"><img class="alignnone  wp-image-2119" title="Product Backlog" src="http://www.leandroprado.com.br/wp-content/uploads/2012/03/novidades_imagem5.png" alt="" width="597" height="421" /></a></p>
<p>7) Distribuição das atividades de uma sprint, veja que do lado direito ja temos um gráfico representado a alocação das pessoas do meu time conforme a capacidade de horas diárias que configuramos anteriormente</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/03/novidades_imagem7.png"><img class="alignnone  wp-image-2125" title="Divisão das atividades" src="http://www.leandroprado.com.br/wp-content/uploads/2012/03/novidades_imagem7.png" alt="" width="598" height="505" /></a></p>
<p> <img src='http://www.leandroprado.com.br/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' /> Acompanhamento dos status das atividades</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/03/novidades_imagem8.png"><img class="alignnone  wp-image-2127" title="Board" src="http://www.leandroprado.com.br/wp-content/uploads/2012/03/novidades_imagem8.png" alt="" width="597" height="451" /></a></p>
<p>Porinquanto é isso, logo mais novidades</p>
<p>Aquele Abraço!</p>
<h2  class="related_post_title">Leia mais</h2><ul class="related_post"><li><a href="http://www.leandroprado.com.br/2012/02/team-foundation-server-11-beta/" title="Team Foundation Server 11 &#8211; Beta">Team Foundation Server 11 &#8211; Beta</a></li><li><a href="http://www.leandroprado.com.br/2012/02/tfs-express/" title="TFS Express">TFS Express</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.leandroprado.com.br/2012/03/novidades-do-team-foundation-server-11-beta/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>No Code Coverage Results</title>
		<link>http://www.leandroprado.com.br/2012/03/no-code-coverage-results/#utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=no-code-coverage-results</link>
		<comments>http://www.leandroprado.com.br/2012/03/no-code-coverage-results/#comments</comments>
		<pubDate>Mon, 05 Mar 2012 23:54:15 +0000</pubDate>
		<dc:creator>Leandro Prado</dc:creator>
				<category><![CDATA[TFS 2010]]></category>
		<category><![CDATA[Code Coverage]]></category>
		<category><![CDATA[TFS Build]]></category>

		<guid isPermaLink="false">http://www.leandroprado.com.br/?p=2089</guid>
		<description><![CDATA[Hoje configurando um build automático no TFS 2010 percebi que o Code Coverage não era executado e sempre retornava a mensagem No Code Coverage Results, conforme abaixo: Abaixo vou descrever os...]]></description>
			<content:encoded><![CDATA[<p>Hoje configurando um build automático no TFS 2010 percebi que o Code Coverage não era executado e sempre retornava a mensagem <strong><em>No Code Coverage Results</em></strong>, conforme abaixo:</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/03/codecoverage_imagem1.png"><img class="alignnone  wp-image-2090" title="No Code Coverage Results" src="http://www.leandroprado.com.br/wp-content/uploads/2012/03/codecoverage_imagem1.png" alt="" width="598" height="383" /></a></p>
<p>Abaixo vou descrever os passos necessários para fazer o TFS Build executar o Code Coverage</p>
<h2>Configuração do Teste</h2>
<p>Primeiramente temos que configurar o nosso projeto de teste para habilitar a opção de Code Coverage, para isso abra o arquivo <strong>Local.testsettings</strong></p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/03/codecoverage_imagem2.png"><img class="alignnone size-full wp-image-2091" title="TestSettings" src="http://www.leandroprado.com.br/wp-content/uploads/2012/03/codecoverage_imagem2.png" alt="" width="297" height="349" /></a></p>
<p>Agora selecione Data and Diagnostics e depois habilitar a opção Code Coverage</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/03/codecoverage_imagem3.png"><img class="alignnone  wp-image-2092" title="Habilitar o Code Coverage" src="http://www.leandroprado.com.br/wp-content/uploads/2012/03/codecoverage_imagem3.png" alt="" width="598" height="440" /></a></p>
<p>Agora clique em Configure</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/03/codecoverage_imagem4.png"><img class="alignnone  wp-image-2093" title="Configure" src="http://www.leandroprado.com.br/wp-content/uploads/2012/03/codecoverage_imagem4.png" alt="" width="597" height="439" /></a></p>
<p>Selecione a DLL que queremos verificar a cobertura de código e clique em OK</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/03/codecoverage_imagem5.png"><img class="alignnone  wp-image-2094" title="Selecione a DLL" src="http://www.leandroprado.com.br/wp-content/uploads/2012/03/codecoverage_imagem5.png" alt="" width="592" height="481" /></a></p>
<h2>Configuração do Build</h2>
<p>Agora temos que configurar o nosso Build, no item Process temos um campo TestSettings File</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/03/codecoverage_imagem6.png"><img class="alignnone  wp-image-2095" title="codecoverage_imagem6" src="http://www.leandroprado.com.br/wp-content/uploads/2012/03/codecoverage_imagem6.png" alt="" width="597" height="394" /></a></p>
<p>Selecione o arquivo de teste que configuramos anteriormente</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/03/codecoverage_imagem7.png"><img class="alignnone  wp-image-2096" title="codecoverage_imagem7" src="http://www.leandroprado.com.br/wp-content/uploads/2012/03/codecoverage_imagem7.png" alt="" width="504" height="398" /></a></p>
<p>Depois de todo esse processo, salvei o Build Configuration e mandei executar novamente, porém não me resolveu o problema ;(</p>
<p>Executei varias tentativas passando parâmetros para o MSBuild porém também sem sucesso</p>
<h2>Solução</h2>
<p>Encontrei esse post <a href="http://social.msdn.microsoft.com/Forums/pl/tfsbuild/thread/a7c8921b-808c-483b-a517-09f8ba35c149">http://social.msdn.microsoft.com/Forums/pl/tfsbuild/thread/a7c8921b-808c-483b-a517-09f8ba35c149</a></p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/03/codecoverage_imagem81.png"><img class="alignnone  wp-image-2098" title="codecoverage_imagem8" src="http://www.leandroprado.com.br/wp-content/uploads/2012/03/codecoverage_imagem81.png" alt="" width="596" height="222" /></a></p>
<p>Primeiramente achei meio estranho ter que instalar o VS Premium ou Ultimate no servidor de Build, porém eu instalei e no final deu certo</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/03/codecoverage_imagem9.png"><img class="alignnone  wp-image-2099" title="codecoverage_imagem9" src="http://www.leandroprado.com.br/wp-content/uploads/2012/03/codecoverage_imagem9.png" alt="" width="599" height="419" /></a></p>
<p>Relatório de Builds</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/03/codecoverage_imagem10.png"><img class="alignnone  wp-image-2108" title="Relatório" src="http://www.leandroprado.com.br/wp-content/uploads/2012/03/codecoverage_imagem10.png" alt="" width="598" height="390" /></a></p>
<h2>Conclusão</h2>
<p>O grande problema dessa solução é, que estamos usando mais uma licença do Visual Studio e ainda por cima as versões mais caras</p>
<p>Aquele Abraço!</p>
<h2  class="related_post_title">Leia mais</h2><ul class="related_post"><li><a href="http://www.leandroprado.com.br/2012/04/publicando-sua-aplicacao-no-iis-com-tfs-2010/" title="Publicando sua aplicação no IIS com TFS 2010">Publicando sua aplicação no IIS com TFS 2010</a></li><li><a href="http://www.leandroprado.com.br/2012/05/custom-work-item-controls/" title="Custom Work Item Controls">Custom Work Item Controls</a></li><li><a href="http://www.leandroprado.com.br/2012/02/tfs-express/" title="TFS Express">TFS Express</a></li><li><a href="http://www.leandroprado.com.br/2012/01/customizando-o-portal-do-projeto/" title="Customizando o portal do projeto">Customizando o portal do projeto</a></li><li><a href="http://www.leandroprado.com.br/2012/01/treinamento-de-alm-em-sao-paulo/" title="Treinamento de ALM em São Paulo ">Treinamento de ALM em São Paulo </a></li><li><a href="http://www.leandroprado.com.br/2012/01/rastreamento-de-work-items-no-tfs-2010/" title="Rastreamento de Work Items no TFS 2010">Rastreamento de Work Items no TFS 2010</a></li><li><a href="http://www.leandroprado.com.br/2011/11/configurando-build-com-tfs-2010/" title="Configurando Build com TFS 2010">Configurando Build com TFS 2010</a></li><li><a href="http://www.leandroprado.com.br/2011/11/integrando-sua-aplicacao-com-o-tfs-2010/" title="Integrando sua aplicação com o TFS 2010">Integrando sua aplicação com o TFS 2010</a></li><li><a href="http://www.leandroprado.com.br/2011/11/gerenciando-branchs-com-tfs-2010/" title="Gerenciando Branchs com TFS 2010">Gerenciando Branchs com TFS 2010</a></li><li><a href="http://www.leandroprado.com.br/2011/10/configurando-o-tfs-2010/" title="Configurando o TFS 2010">Configurando o TFS 2010</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.leandroprado.com.br/2012/03/no-code-coverage-results/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Team Foundation Server 11 &#8211; Beta</title>
		<link>http://www.leandroprado.com.br/2012/02/team-foundation-server-11-beta/#utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=team-foundation-server-11-beta</link>
		<comments>http://www.leandroprado.com.br/2012/02/team-foundation-server-11-beta/#comments</comments>
		<pubDate>Wed, 29 Feb 2012 22:54:38 +0000</pubDate>
		<dc:creator>Leandro Prado</dc:creator>
				<category><![CDATA[TFS 11]]></category>
		<category><![CDATA[tfs 2011]]></category>

		<guid isPermaLink="false">http://www.leandroprado.com.br/?p=2072</guid>
		<description><![CDATA[Pessoal Dia com grandes novidades!!! Como ja tinha falado aqui, hoje foi lançada a nova família Visual Studio 11 que ainda está na versão Beta Visual Studio 11 Team Foundation Server Beta...]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/02/tfs11_beta_pequeno.png"><img class="alignleft size-thumbnail wp-image-2076" title="tfs11_beta_pequeno" src="http://www.leandroprado.com.br/wp-content/uploads/2012/02/tfs11_beta_pequeno.png" alt="" width="150" height="107" /></a>Pessoal</p>
<p>Dia com grandes novidades!!! Como ja tinha falado <a title="TFS Express" href="http://www.leandroprado.com.br/2012/02/tfs-express/" target="_blank">aqui</a>, hoje foi lançada a nova família Visual Studio 11 que ainda está na versão Beta</p>
<p><a href="http://www.microsoft.com/visualstudio/11/en-us/products/alm" target="_blank">Visual Studio 11 Team Foundation Server Beta</a></p>
<p><a href="http://www.microsoft.com/visualstudio/11/en-us/products/visualstudio" target="_blank"> Visual Studio 11 Ultimate Beta</a></p>
<p>Mais informações no blog do Brian Keller - <a href="http://blogs.msdn.com/b/briankel/archive/2011/09/16/visual-studio-11-application-lifecycle-management-virtual-machine-and-hands-on-labs-demo-scripts.aspx">http://blogs.msdn.com/b/briankel/archive/2011/09/16/visual-studio-11-application-lifecycle-management-virtual-machine-and-hands-on-labs-demo-scripts.aspx</a></p>
<p>Segue algumas imagens abaixo:</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/02/imagem2.png"><img class="alignnone  wp-image-2086" title="Burndown" src="http://www.leandroprado.com.br/wp-content/uploads/2012/02/imagem2.png" alt="" width="591" height="217" /></a></p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/02/imagem1.png"><img class="alignnone  wp-image-2085" title="Dashboard" src="http://www.leandroprado.com.br/wp-content/uploads/2012/02/imagem1.png" alt="" width="591" height="365" /></a></p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/02/imagem6.png"><img class="alignnone  wp-image-2084" title="Merge" src="http://www.leandroprado.com.br/wp-content/uploads/2012/02/imagem6.png" alt="" width="592" height="202" /></a></p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/02/imagem5.png"><img class="alignnone size-full wp-image-2083" title="Team Explorer" src="http://www.leandroprado.com.br/wp-content/uploads/2012/02/imagem5.png" alt="" width="258" height="405" /></a></p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/02/imagem4.png"><img class="alignnone  wp-image-2082" title="Storyboarding PowerPoint" src="http://www.leandroprado.com.br/wp-content/uploads/2012/02/imagem4.png" alt="" width="591" height="443" /></a></p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/02/imagem3.png"><img class="alignnone  wp-image-2081" title="Taskboard " src="http://www.leandroprado.com.br/wp-content/uploads/2012/02/imagem3.png" alt="" width="590" height="274" /></a></p>
<p>Já estou baixando.. depois crio um post com as primeiras impressões</p>
<p>Aquele Abraço!</p>
<h2  class="related_post_title">Leia mais</h2><ul class="related_post"><li><a href="http://www.leandroprado.com.br/2012/03/novidades-do-team-foundation-server-11-beta/" title="Novidades do Team Foundation Server 11 Beta">Novidades do Team Foundation Server 11 Beta</a></li><li><a href="http://www.leandroprado.com.br/2012/02/tfs-express/" title="TFS Express">TFS Express</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.leandroprado.com.br/2012/02/team-foundation-server-11-beta/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TFS Express</title>
		<link>http://www.leandroprado.com.br/2012/02/tfs-express/#utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=tfs-express</link>
		<comments>http://www.leandroprado.com.br/2012/02/tfs-express/#comments</comments>
		<pubDate>Thu, 23 Feb 2012 22:25:34 +0000</pubDate>
		<dc:creator>Leandro Prado</dc:creator>
				<category><![CDATA[TFS 11]]></category>
		<category><![CDATA[TFS 2010]]></category>
		<category><![CDATA[tfs 2011]]></category>
		<category><![CDATA[tfs express]]></category>

		<guid isPermaLink="false">http://www.leandroprado.com.br/?p=2061</guid>
		<description><![CDATA[Pessoal Hoje saiu no blog do Brian Harry algumas novidades sobre o TFS, uma delas é que será lançado a nova versão do  TFS 11 Beta em dois meses, e junto...]]></description>
			<content:encoded><![CDATA[<p>Pessoal</p>
<p>Hoje saiu no blog do Brian Harry algumas novidades sobre o TFS, uma delas é que será lançado a nova versão do <strong> TFS 11 Beta</strong> em dois meses, e junto com essa versão teremos uma novidade que é o <strong>TFS Express</strong></p>
<p>O TFS EXPRESS será uma versão <strong>gratuíta</strong> mas é claro com algumas limitações:</p>
<ul>
<li>Apenas 5 desenvolvedores poderão acessar esse ambiente, a partir do 6 desenvolvedor terá que adquirir uma CAL (Client Access Licenses)</li>
<li>Apenas suporta o SQL Server Express Edition</li>
<li>Só pode ser instalado em um único servidor</li>
<li>Sem integração com o SharePoint, sem relatório</li>
<li>Exclui o TFS Proxy</li>
</ul>
<p>Veja abaixo alguns recursos que virá nessa versão:</p>
<ul>
<li>Source Control</li>
<li>Work Item Tracking</li>
<li>Build Automation</li>
<li>Agile Taskboard</li>
</ul>
<p>Para mais detalhes acesse: <a href="http://blogs.msdn.com/b/bharry/archive/2012/02/23/coming-soon-tfs-express.aspx">http://blogs.msdn.com/b/bharry/archive/2012/02/23/coming-soon-tfs-express.aspx</a></p>
<p>Vamos ficar de olho nessa próxima versão do TFS, novidades estão por vir!</p>
<p>Aquele Abraço!</p>
<h2  class="related_post_title">Leia mais</h2><ul class="related_post"><li><a href="http://www.leandroprado.com.br/2012/05/custom-work-item-controls/" title="Custom Work Item Controls">Custom Work Item Controls</a></li><li><a href="http://www.leandroprado.com.br/2012/04/publicando-sua-aplicacao-no-iis-com-tfs-2010/" title="Publicando sua aplicação no IIS com TFS 2010">Publicando sua aplicação no IIS com TFS 2010</a></li><li><a href="http://www.leandroprado.com.br/2012/03/novidades-do-team-foundation-server-11-beta/" title="Novidades do Team Foundation Server 11 Beta">Novidades do Team Foundation Server 11 Beta</a></li><li><a href="http://www.leandroprado.com.br/2012/03/no-code-coverage-results/" title="No Code Coverage Results">No Code Coverage Results</a></li><li><a href="http://www.leandroprado.com.br/2012/02/team-foundation-server-11-beta/" title="Team Foundation Server 11 &#8211; Beta">Team Foundation Server 11 &#8211; Beta</a></li><li><a href="http://www.leandroprado.com.br/2012/01/customizando-o-portal-do-projeto/" title="Customizando o portal do projeto">Customizando o portal do projeto</a></li><li><a href="http://www.leandroprado.com.br/2012/01/treinamento-de-alm-em-sao-paulo/" title="Treinamento de ALM em São Paulo ">Treinamento de ALM em São Paulo </a></li><li><a href="http://www.leandroprado.com.br/2012/01/rastreamento-de-work-items-no-tfs-2010/" title="Rastreamento de Work Items no TFS 2010">Rastreamento de Work Items no TFS 2010</a></li><li><a href="http://www.leandroprado.com.br/2011/11/configurando-build-com-tfs-2010/" title="Configurando Build com TFS 2010">Configurando Build com TFS 2010</a></li><li><a href="http://www.leandroprado.com.br/2011/11/integrando-sua-aplicacao-com-o-tfs-2010/" title="Integrando sua aplicação com o TFS 2010">Integrando sua aplicação com o TFS 2010</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.leandroprado.com.br/2012/02/tfs-express/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Customizando o portal do projeto</title>
		<link>http://www.leandroprado.com.br/2012/01/customizando-o-portal-do-projeto/#utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=customizando-o-portal-do-projeto</link>
		<comments>http://www.leandroprado.com.br/2012/01/customizando-o-portal-do-projeto/#comments</comments>
		<pubDate>Fri, 20 Jan 2012 15:25:33 +0000</pubDate>
		<dc:creator>Leandro Prado</dc:creator>
				<category><![CDATA[TFS 2010]]></category>
		<category><![CDATA[alm]]></category>
		<category><![CDATA[sharepoint]]></category>

		<guid isPermaLink="false">http://www.leandroprado.com.br/?p=2022</guid>
		<description><![CDATA[Quando criamos um projeto no TFS, automaticamente é criado um portal em Sharepoint, para que o cliente possa acompanhar o andamento do projeto. Para visualizar esse portal, basta clicar com...]]></description>
			<content:encoded><![CDATA[<p>Quando criamos um projeto no TFS, automaticamente é criado um portal em Sharepoint, para que o cliente possa acompanhar o andamento do projeto. Para visualizar esse portal, basta clicar com o botão direito sobre o projeto e selecionar a opção <strong>Show Project Portal</strong></p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/01/portal_imagem1.png"><img class="alignnone size-full wp-image-2023" title="Show Project Portal" src="http://www.leandroprado.com.br/wp-content/uploads/2012/01/portal_imagem1.png" alt="" width="440" height="275" /></a></p>
<p>Abaixo segue uma imagem do portal padrão:</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/01/portal_imagem2.png"><img class="alignnone  wp-image-2026" title="Portal Padrão" src="http://www.leandroprado.com.br/wp-content/uploads/2012/01/portal_imagem2.png" alt="" width="596" height="390" /></a></p>
<p>Porém muitos clientes pedem para que esse portal seja customizado, como por exemplo criar bibliotecas com as fases de construção do projeto, então esse post irá exemplificar como criar algumas listas no portal, salvar como template e setar como um novo padrão para novos projetos no TFS.</p>
<p>As versões que estamos usando é TFS 2010 e Sharepoint 2010</p>
<h2>1) Criar as listas</h2>
<p>Para criar novas listas no portal do projeto, acesse a opção<strong> Site actions -&gt; New Document Library</strong></p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/01/portal_imagem3.png"><img class="alignnone size-full wp-image-2024" title="New Document Library" src="http://www.leandroprado.com.br/wp-content/uploads/2012/01/portal_imagem3.png" alt="" width="257" height="461" /></a></p>
<p>Abrirá uma nova tela para adicionar o <strong>Nome e Descrição</strong>, depois clique em <strong>Create</strong></p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/01/portal_imagem4.png"><img class="alignnone  wp-image-2025" title="Gerenciamento de Projeto" src="http://www.leandroprado.com.br/wp-content/uploads/2012/01/portal_imagem4.png" alt="" width="596" height="372" /></a></p>
<p>Faça esse mesmo processo para as listas <strong>Desenvolvimento, Testes, Protótipo</strong></p>
<p>No final seu portal deve ficar conforme abaixo:</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/01/portal_imagem5.png"><img class="alignnone size-full wp-image-2027" title="Listas criadas" src="http://www.leandroprado.com.br/wp-content/uploads/2012/01/portal_imagem5.png" alt="" width="173" height="580" /></a></p>
<h2>2) Salvar como template</h2>
<p>Depois de criado todo o padrão do portal, temos que salvar esse portal como um template, para isso temos que selecionar a opção <strong>Site Action -&gt; Site Settings</strong></p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/01/portal_imagem6.png"><img class="alignnone size-full wp-image-2028" title="Site Settings" src="http://www.leandroprado.com.br/wp-content/uploads/2012/01/portal_imagem6.png" alt="" width="259" height="508" /></a></p>
<p>Selecione a opção <strong>Save site as template</strong></p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/01/portal_imagem7.png"><img class="alignnone  wp-image-2029" title="Save site as template" src="http://www.leandroprado.com.br/wp-content/uploads/2012/01/portal_imagem7.png" alt="" width="596" height="275" /></a></p>
<p>Preencha as informações de<strong> Name, Description</strong> e clique em OK</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/01/portal_imagem8.png"><img class="alignnone  wp-image-2030" title="Informações do portal" src="http://www.leandroprado.com.br/wp-content/uploads/2012/01/portal_imagem8.png" alt="" width="596" height="342" /></a></p>
<p>Se tudo ocorrer corretamente, deverá ser exibida a seguinte mensagem, clique em OK:</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/01/portal_imagem9.png"><img class="alignnone size-full wp-image-2031" title="Successfully " src="http://www.leandroprado.com.br/wp-content/uploads/2012/01/portal_imagem9.png" alt="" width="594" height="306" /></a></p>
<p>Para verificar se seu template foi salvo, entre no portal da Collection, que nesse caso é <strong>Default Collection</strong></p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/01/portal_imagem10.png"><img class="alignnone size-full wp-image-2032" title="Portal da Collection" src="http://www.leandroprado.com.br/wp-content/uploads/2012/01/portal_imagem10.png" alt="" width="287" height="243" /></a></p>
<p>Agora selecione a opção <strong>Site Actions -&gt; Site Settings -&gt; Solutions</strong></p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/01/portal_imagem11.png"><img class="alignnone  wp-image-2033" title="Solutions" src="http://www.leandroprado.com.br/wp-content/uploads/2012/01/portal_imagem11.png" alt="" width="594" height="452" /></a></p>
<p>Veja que o nosso template com o nome <strong>TemplateTutorial</strong> esta aparecendo na lista e seu status está <strong>Activated</strong></p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/01/portal_imagem12.png"><img class="alignnone  wp-image-2034" title="Solution Gallery" src="http://www.leandroprado.com.br/wp-content/uploads/2012/01/portal_imagem12.png" alt="" width="591" height="185" /></a></p>
<h2>3) Alterar o Process Template do TFS</h2>
<p>Agora que o nosso portal padrão ja está criado, temos que alterar o process template do TFS para que nos próximos projetos ele possa usar esse novo padrão.</p>
<p>Para isso baixe o process template do TFS para sua máquina usando o TFS Power Tools ( se você não sabe baixar, <a title="Customizando WorkItem no TFS 2010" href="http://www.leandroprado.com.br/2011/01/customizando-workitem-no-tfs-2010/">veja esse post</a> ) e acesse a pasta <strong>Windows SharePoint Services</strong>. Dentro dessa pasta existe um arquivo XML chamado <strong>WssTasks.xml</strong>, abra em um editor e altere a opção <strong>site template</strong> para o nome do template salvo anteriormente</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/01/portal_imagem13.png"><img class="alignnone size-full wp-image-2036" title="Editando o Process Template" src="http://www.leandroprado.com.br/wp-content/uploads/2012/01/portal_imagem13.png" alt="" width="596" height="246" /></a></p>
<p>Após de fazer essa pequena alteração, fala o upload do process template novamente para o TFS</p>
<h2>4) Testando</h2>
<p>Para verificar se nosso template está como padrão no TFS, vamos criar um novo projeto usando nosso process template alterado, veja na imagem abaixo que as listas que criamos já vem como default no portal</p>
<p><a href="http://www.leandroprado.com.br/wp-content/uploads/2012/01/portal_imagem14.png"><img class="alignnone size-full wp-image-2038" title="Portal com o novo padrão" src="http://www.leandroprado.com.br/wp-content/uploads/2012/01/portal_imagem14.png" alt="" width="351" height="575" /></a></p>
<p>Deixe seu comentário, opinião, critica</p>
<p>Aquele abraço!</p>
<h2  class="related_post_title">Leia mais</h2><ul class="related_post"><li><a href="http://www.leandroprado.com.br/2012/01/treinamento-de-alm-em-sao-paulo/" title="Treinamento de ALM em São Paulo ">Treinamento de ALM em São Paulo </a></li><li><a href="http://www.leandroprado.com.br/2012/05/custom-work-item-controls/" title="Custom Work Item Controls">Custom Work Item Controls</a></li><li><a href="http://www.leandroprado.com.br/2012/04/publicando-sua-aplicacao-no-iis-com-tfs-2010/" title="Publicando sua aplicação no IIS com TFS 2010">Publicando sua aplicação no IIS com TFS 2010</a></li><li><a href="http://www.leandroprado.com.br/2012/03/no-code-coverage-results/" title="No Code Coverage Results">No Code Coverage Results</a></li><li><a href="http://www.leandroprado.com.br/2012/02/tfs-express/" title="TFS Express">TFS Express</a></li><li><a href="http://www.leandroprado.com.br/2012/01/rastreamento-de-work-items-no-tfs-2010/" title="Rastreamento de Work Items no TFS 2010">Rastreamento de Work Items no TFS 2010</a></li><li><a href="http://www.leandroprado.com.br/2011/11/configurando-build-com-tfs-2010/" title="Configurando Build com TFS 2010">Configurando Build com TFS 2010</a></li><li><a href="http://www.leandroprado.com.br/2011/11/integrando-sua-aplicacao-com-o-tfs-2010/" title="Integrando sua aplicação com o TFS 2010">Integrando sua aplicação com o TFS 2010</a></li><li><a href="http://www.leandroprado.com.br/2011/11/gerenciando-branchs-com-tfs-2010/" title="Gerenciando Branchs com TFS 2010">Gerenciando Branchs com TFS 2010</a></li><li><a href="http://www.leandroprado.com.br/2011/10/configurando-o-tfs-2010/" title="Configurando o TFS 2010">Configurando o TFS 2010</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.leandroprado.com.br/2012/01/customizando-o-portal-do-projeto/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

