<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-734767866321952435</id><updated>2024-09-01T21:22:39.776-07:00</updated><category term="MOSS 2007"/><category term="WSS 3.0"/><category term="Sharepoint 2010"/><category term="Sharepoint"/><category term="Configurações"/><category term="Customization with Visual Studio"/><category term="CAML SPList Sharepoint WSS MOSS"/><category term="Object Model"/><category term="XSL"/><category term="BCS"/><category term="Bugs From Hell"/><category term="CAML"/><category term="Lixeira"/><category term="Power Shell"/><category term="RecycleBin"/><category term="SPContext"/><category term="SPList"/><category term="SPListItem"/><category term="SPRecycleBinItem"/><category term="SPRecycleBinItemCollection"/><category term="SPSite"/><category term="SPView"/><category term="SPfarm"/><category term="Sharepoint 2003"/><category term="WSP"/><category term="WSS"/><title type='text'>Leonardo Macanudo</title><subtitle type='html'>Aventuras pelo encantador mundo do SharePoint</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://leonardomacanudo.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://leonardomacanudo.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Leonardo Macanudo</name><uri>http://www.blogger.com/profile/14298618071954196095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>34</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-734767866321952435.post-7340377725947292951</id><published>2014-05-21T07:44:00.004-07:00</published><updated>2014-05-21T07:44:54.081-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Customization with Visual Studio"/><category scheme="http://www.blogger.com/atom/ns#" term="Sharepoint 2010"/><title type='text'>Error occurred in deployment step &#39;Add Solution&#39;: Error: Cannot add the specified assembly to the global assembly cache: XXX.dll</title><content type='html'>Este erro ocorre no VS (Visual Studio) ao tentarmos fazer Deploy.&lt;br /&gt;
&lt;br /&gt;
Error occurred in deployment step &#39;Add Solution&#39;: Error: Cannot add the specified assembly to the global assembly cache: XXX.dll&lt;br /&gt;
&lt;br /&gt;
Como resolver:&lt;br /&gt;
&lt;br /&gt;
1) Vá ao GAC (C:\windows\assembly) e remova a DLL manualmente. [remove DLL manually from GAC]&lt;br /&gt;
2) Realize deploy novamente [do deploy again!]&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://leonardomacanudo.blogspot.com/feeds/7340377725947292951/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/734767866321952435/7340377725947292951' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/7340377725947292951'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/7340377725947292951'/><link rel='alternate' type='text/html' href='http://leonardomacanudo.blogspot.com/2014/05/error-occurred-in-deployment-step-add.html' title='Error occurred in deployment step &#39;Add Solution&#39;: Error: Cannot add the specified assembly to the global assembly cache: XXX.dll'/><author><name>Leonardo Macanudo</name><uri>http://www.blogger.com/profile/14298618071954196095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-734767866321952435.post-2204618062913230768</id><published>2014-05-21T05:22:00.004-07:00</published><updated>2014-05-21T05:23:14.515-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Configurações"/><category scheme="http://www.blogger.com/atom/ns#" term="Sharepoint 2010"/><title type='text'>Problema: TimerJob habilitado e rodando para todos os Web App do Server</title><content type='html'>Olá Amigos,&lt;br /&gt;
&lt;br /&gt;
Hoje venho compartilhar uma boa dica com vocês.&lt;br /&gt;
&lt;br /&gt;
Possuo um Timer Job super pesado e lento, ao verificar o histórico de execução dos job no CA (Central Administration &amp;gt; Job History&amp;nbsp;) percebi que o mesmo estava sendo executado para cada um dos WebApps (Web Applications) do server e é óbvio que este não era o comportamento que eu desejava.&lt;br /&gt;
&lt;br /&gt;
A solução é bastante simples, existe uma propriedade na Feature de Ativação do Timer Job que é responsável pela ativação/vinculação automática do Timer Job a todos os WebApp, basta desativa-la e após vincula-la manualmente ao WebApp Correto.&lt;br /&gt;
&lt;br /&gt;
Na imagem abaixo é possível visualizar a propriedade que deve ser alterada. Por default seu valor é True, devemos passar para False para que a Ativação fique em Manual.&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;http://www.splessons.com/wp-content/uploads/2013/12/splessons_post_5_141.png&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Após fazer o deploy do projeto, basta voltar ao CA e Naveguar até &quot;Gerenciar o Aplicativo Web&quot; (Central Administration -&amp;gt; Application Management -&amp;gt; Manage Web Application)&lt;br /&gt;
&lt;br /&gt;
Selecione seu Web Application e vá em &quot;Gerenciar Recursos&quot; (Manage Features)&lt;br /&gt;
&lt;br /&gt;
Localize a feature de ativação do Timer Job e clique em &quot;Ativar&quot; (Activate)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Era isso ;)&lt;br /&gt;
&lt;br /&gt;
Abraço,&lt;br /&gt;
Leonardo&lt;br /&gt;
&lt;br /&gt;
Fontes:&lt;br /&gt;
&lt;a href=&quot;http://www.codeproject.com/Tips/634208/Create-and-Deploy-Custom-Timer-Job-Definition-in-S&quot;&gt;http://www.codeproject.com/Tips/634208/Create-and-Deploy-Custom-Timer-Job-Definition-in-S&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.splessons.com/2013/12/create-a-timer-job-in-sharepoint-2013/#SPLessonPhoto[myGallery]/13&quot;&gt;http://www.splessons.com/2013/12/create-a-timer-job-in-sharepoint-2013/#SPLessonPhoto[myGallery]/13&lt;/a&gt;/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonardomacanudo.blogspot.com/feeds/2204618062913230768/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/734767866321952435/2204618062913230768' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/2204618062913230768'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/2204618062913230768'/><link rel='alternate' type='text/html' href='http://leonardomacanudo.blogspot.com/2014/05/problema-timerjob-habilitado-e-rodando.html' title='Problema: TimerJob habilitado e rodando para todos os Web App do Server'/><author><name>Leonardo Macanudo</name><uri>http://www.blogger.com/profile/14298618071954196095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-734767866321952435.post-519928461003333341</id><published>2014-05-19T08:35:00.002-07:00</published><updated>2014-05-21T05:23:31.981-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Configurações"/><title type='text'>Questão sobre SPDailySchedule e sua propriedade BeginHour</title><content type='html'>Olá PessoALL,&lt;br /&gt;
&lt;br /&gt;
Hoje foi questionado sobre como &quot;setar&quot; a hora inicial de um&amp;nbsp;SPDailySchedule para as 22 horas.&lt;br /&gt;
&lt;br /&gt;
Para quem não sabe, o&amp;nbsp;SPDailySchedule é utilizado, principalmente, para &quot;setarmos&quot; o horário de agendamento de um Timer Job.&lt;br /&gt;
&lt;br /&gt;
Normalmente temos no código algo como isto:&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //Configura o Timer Job para rodar todos os dias de 1 hora da manhã.&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SPDailySchedule dailySchedule = new SPDailySchedule();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dailySchedule.BeginHour = 01;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dailySchedule.EndHour = 01;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dailySchedule.EndMinute = 30;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;Então surge a dúvida, é 01 am ou 01pm...&lt;br /&gt;
&lt;br /&gt;
A resposta é bem simples na verdade, a propriedade BeginHour é 24 horas, portanto se quisermos rodar o job as 22, basta &quot;setar&quot; o número 22 ;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //Configura o Timer Job para rodar todos os dias de 22 horas&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SPDailySchedule dailySchedule = new SPDailySchedule();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dailySchedule.BeginHour = 22;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dailySchedule.EndHour = 22;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dailySchedule.EndMinute = 30;&lt;br /&gt;
&lt;br /&gt;
Bem simples e indolor ;)&lt;br /&gt;
&lt;br /&gt;
Abraço,&lt;br /&gt;
Leonardo</content><link rel='replies' type='application/atom+xml' href='http://leonardomacanudo.blogspot.com/feeds/519928461003333341/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/734767866321952435/519928461003333341' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/519928461003333341'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/519928461003333341'/><link rel='alternate' type='text/html' href='http://leonardomacanudo.blogspot.com/2014/05/questao-sobre-spdailyschedule-e-sua.html' title='Questão sobre SPDailySchedule e sua propriedade BeginHour'/><author><name>Leonardo Macanudo</name><uri>http://www.blogger.com/profile/14298618071954196095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-734767866321952435.post-8857866528283093252</id><published>2014-05-15T08:23:00.003-07:00</published><updated>2014-05-15T08:23:17.881-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Sharepoint 2010"/><title type='text'>Tratando problemas de performance e logs gigantes</title><content type='html'>&lt;span style=&quot;color: #333333; font-family: Arial, sans-serif; font-size: x-small;&quot;&gt;&lt;span style=&quot;background-color: white; line-height: 17px;&quot;&gt;A apresentação do Link abaixo é muito interessante.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #333333; font-family: Arial, sans-serif; font-size: x-small;&quot;&gt;&lt;span style=&quot;background-color: white; line-height: 17px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #333333; font-family: Arial, sans-serif; font-size: x-small;&quot;&gt;&lt;span style=&quot;background-color: white; line-height: 17px;&quot;&gt;Ótimo recurso para quem está enfrentando lentidão em WP customizadas em seu ambiente SharePoint.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #333333; font-family: Arial, sans-serif; font-size: x-small;&quot;&gt;&lt;span style=&quot;background-color: white; line-height: 17px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #333333; font-family: Arial, sans-serif; font-size: x-small;&quot;&gt;&lt;span style=&quot;background-color: white; line-height: 17px;&quot;&gt;Entender a relação SPRequest e SPSite/SPWeb é a chave para esta jornada de otimização de webparts.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #333333; font-family: Arial, sans-serif; font-size: x-small;&quot;&gt;&lt;span style=&quot;background-color: white; line-height: 17px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: #333333; font-family: Arial, sans-serif; font-size: x-small;&quot;&gt;&lt;span style=&quot;background-color: white; line-height: 17px;&quot;&gt;Muito útil para quem tem erros do tipo:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;&lt;span style=&quot;background-color: #b3ddf6; color: #333333; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18.165599822998047px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: yellow; color: #333333; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18.165599822998047px;&quot;&gt;Potentially excessive number of SPRequest objects (&lt;/span&gt;&lt;span style=&quot;background-color: yellow; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18.165599822998047px;&quot;&gt;&lt;span style=&quot;color: red;&quot;&gt;XX&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;) currently unreleased on thread X&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://pt.slideshare.net/kcponce/sharepoint-underground-unmanaged-code-and-sharepoint-internals&quot;&gt;&lt;span style=&quot;background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13px; line-height: 17px;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13px; line-height: 17px;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #0077b5; font-family: Arial, sans-serif; font-size: x-small;&quot;&gt;&lt;span style=&quot;background-color: white; line-height: 17px;&quot;&gt;http://pt.slideshare.net/kcponce/sharepoint-underground-unmanaged-code-and-sharepoint-internals&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Outro link interessante para o mesmo problema é:&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://blog.meligo.be/2013/10/sprequest-things-i-couldnt-find-about-it/&quot;&gt;http://blog.meligo.be/2013/10/sprequest-things-i-couldnt-find-about-it/&lt;/a&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
Existe uma centena de outras dicas que te auxiliarão a cuidar deste caso, mas isto é assunto para outro momento.&lt;br /&gt;
&lt;br /&gt;
Por hoje é só pessoal =D</content><link rel='replies' type='application/atom+xml' href='http://leonardomacanudo.blogspot.com/feeds/8857866528283093252/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/734767866321952435/8857866528283093252' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/8857866528283093252'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/8857866528283093252'/><link rel='alternate' type='text/html' href='http://leonardomacanudo.blogspot.com/2014/05/tratando-problemas-de-performance-e.html' title='Tratando problemas de performance e logs gigantes'/><author><name>Leonardo Macanudo</name><uri>http://www.blogger.com/profile/14298618071954196095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-734767866321952435.post-8427906554315923125</id><published>2012-09-27T11:13:00.001-07:00</published><updated>2012-09-27T11:13:39.716-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="BCS"/><category scheme="http://www.blogger.com/atom/ns#" term="Configurações"/><category scheme="http://www.blogger.com/atom/ns#" term="Sharepoint 2010"/><title type='text'>BCS : There are no addresses available for this application</title><content type='html'>Olá :)&lt;br /&gt;
&lt;br /&gt;
Tive esse erro logo após criar o serviço do BCS&lt;br /&gt;
&lt;br /&gt;
&quot;There are no addresses available for this application&quot;&lt;br /&gt;
&lt;br /&gt;
Ainda bem que é de fácil solução :)&lt;br /&gt;
&lt;br /&gt;
Basta iniciar o serviço &quot;“&lt;strong&gt;Business Data Connectivity Service&lt;/strong&gt;&quot; dentro de&lt;strong&gt; Application Management &amp;gt; Manage Services on Server&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;
Após IISRESET&lt;br /&gt;
&lt;br /&gt;
Agradecimentos ao site[1]&amp;nbsp; gringo abaixo :)&lt;br /&gt;
&lt;br /&gt;
[1]&lt;br /&gt;
&lt;a href=&quot;http://nkelkar.wordpress.com/2011/06/16/bcs-there-are-no-addresses-available-for-this-application/&quot;&gt;http://nkelkar.wordpress.com/2011/06/16/bcs-there-are-no-addresses-available-for-this-application/&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonardomacanudo.blogspot.com/feeds/8427906554315923125/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/734767866321952435/8427906554315923125' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/8427906554315923125'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/8427906554315923125'/><link rel='alternate' type='text/html' href='http://leonardomacanudo.blogspot.com/2012/09/bcs-there-are-no-addresses-available.html' title='BCS : There are no addresses available for this application'/><author><name>Leonardo Macanudo</name><uri>http://www.blogger.com/profile/14298618071954196095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-734767866321952435.post-8200151560671730053</id><published>2012-09-27T06:58:00.001-07:00</published><updated>2012-09-27T06:59:15.151-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Configurações"/><category scheme="http://www.blogger.com/atom/ns#" term="Power Shell"/><category scheme="http://www.blogger.com/atom/ns#" term="Sharepoint 2010"/><title type='text'>Como renomear o nome de um WebApplication (WebApp) (SharePoint 2010)</title><content type='html'>Como renomear um WebApp?

&lt;br /&gt;
&lt;br /&gt;
Bastante simples ;)

&lt;br /&gt;
&lt;br /&gt;
Execute seguinte comando via Power Shell =]

&lt;br /&gt;
&lt;br /&gt;
$a=Get-SPWebApplication | where {$_.Name -match &quot;Antigo nome do web application&quot;}

&lt;br /&gt;
&lt;br /&gt;
$a.Name

&lt;br /&gt;
&lt;br /&gt;
$a.Name=&quot;Novo nome do web application&quot;

&lt;br /&gt;
&lt;br /&gt;
$a.Update()&lt;br /&gt;
&lt;br /&gt;
Get-SPWebApplication | where {$_.Name -match &quot;Novo nome do web application&quot;}

</content><link rel='replies' type='application/atom+xml' href='http://leonardomacanudo.blogspot.com/feeds/8200151560671730053/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/734767866321952435/8200151560671730053' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/8200151560671730053'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/8200151560671730053'/><link rel='alternate' type='text/html' href='http://leonardomacanudo.blogspot.com/2012/09/como-renomear-o-nome-de-um.html' title='Como renomear o nome de um WebApplication (WebApp) (SharePoint 2010)'/><author><name>Leonardo Macanudo</name><uri>http://www.blogger.com/profile/14298618071954196095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-734767866321952435.post-3641150535507242580</id><published>2011-09-23T08:04:00.000-07:00</published><updated>2011-09-23T08:05:08.639-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="MOSS 2007"/><category scheme="http://www.blogger.com/atom/ns#" term="Sharepoint"/><category scheme="http://www.blogger.com/atom/ns#" term="Sharepoint 2010"/><category scheme="http://www.blogger.com/atom/ns#" term="WSS 3.0"/><title type='text'>XSL Data por extenso. (Sharepoint)</title><content type='html'>Olá Amigos,&lt;br /&gt;&lt;br /&gt;Importante dizer que o código abaixo, funcionará somente no Sharepoint.&lt;br /&gt;Tanto versão 2007 quanto 2010.&lt;br /&gt;&lt;br /&gt;Problema:&lt;br /&gt;Formatar data no seguinte formato: &quot;28 de Janeiro de 2011&quot;&lt;br /&gt;&lt;br /&gt;Solução:&lt;br /&gt;&lt;br /&gt;&amp;lt;xsl:value-of select=&quot;ddwrt:FormatDateTime(string(@DataPublicacao),1046,&#39;dd&#39;)&quot;/&amp;gt;&lt;br /&gt;de&lt;br /&gt;&amp;lt;xsl:value-of select=&quot;ddwrt:FormatDateTime(string(@DataPublicacao),1046,&#39;MMMM&#39;)&quot;/&amp;gt;&lt;br /&gt;de&lt;br /&gt;&amp;lt;xsl:value-of select=&quot;ddwrt:FormatDateTime(string(@DataPublicacao),1046,&#39;yyyy&#39;)&quot;/&amp;gt;</content><link rel='replies' type='application/atom+xml' href='http://leonardomacanudo.blogspot.com/feeds/3641150535507242580/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/734767866321952435/3641150535507242580' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/3641150535507242580'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/3641150535507242580'/><link rel='alternate' type='text/html' href='http://leonardomacanudo.blogspot.com/2011/09/xsl-data-por-extenso-sharepoint.html' title='XSL Data por extenso. (Sharepoint)'/><author><name>Leonardo Macanudo</name><uri>http://www.blogger.com/profile/14298618071954196095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-734767866321952435.post-5518944690123410527</id><published>2011-08-31T07:45:00.000-07:00</published><updated>2011-08-31T07:46:53.959-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Bugs From Hell"/><category scheme="http://www.blogger.com/atom/ns#" term="Sharepoint 2010"/><title type='text'>Erro &quot;List not found&quot; (lista inexistente) ao tentar exibir um DataFormWebPart importado de outro site</title><content type='html'>Olá amigos,&lt;br /&gt;&lt;br /&gt;Estou migrando funcionalidades de um site para outro site dentro do mesmo site collection.&lt;br /&gt;&lt;br /&gt;Precisava exibir o conteudo de uma lista que estava em outro site.&lt;br /&gt;&lt;br /&gt;Tarefa simples de ser realizada utilizando a DataFormWebPart com o parametro&lt;br /&gt;webUrl no seu datasource.&lt;br /&gt;&lt;br /&gt;O Grande problema, que mesmo a lista existindo. O Sharepoint retornava a seguinte mensagem &quot;Lista Inexistente&quot; (list not found)&lt;br /&gt;&lt;br /&gt;Para solucionar o problema simplesmente troca-se o atributo ViewFlag para &quot;0&quot;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;WebPartPages:DataFormWebPart runat=&quot;server&quot; IsIncluded=&quot;True&quot; AsyncRefresh=&quot;True&quot; FrameType=&quot;None&quot; NoDefaultStyle=&quot;TRUE&quot; ViewFlag=&quot;0&quot;&lt;/span&gt; &lt;br /&gt;&lt;br /&gt;Não me perguntem o porque. Sei que funciona :)&lt;br /&gt;&lt;br /&gt;Encontrei essa pérola no seguinte site:&lt;br /&gt;&lt;br /&gt;http://www.codepoint.es/archive/2011/07/12/error-de-“list-not-found”-para-un-dataformwebpart-exportado-a-otro-sitio.aspx&lt;br /&gt;&lt;br /&gt;Abraços,&lt;br /&gt;Maca</content><link rel='replies' type='application/atom+xml' href='http://leonardomacanudo.blogspot.com/feeds/5518944690123410527/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/734767866321952435/5518944690123410527' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/5518944690123410527'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/5518944690123410527'/><link rel='alternate' type='text/html' href='http://leonardomacanudo.blogspot.com/2011/08/erro-list-not-found-lista-inexistente.html' title='Erro &quot;List not found&quot; (lista inexistente) ao tentar exibir um DataFormWebPart importado de outro site'/><author><name>Leonardo Macanudo</name><uri>http://www.blogger.com/profile/14298618071954196095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-734767866321952435.post-5448743876510018904</id><published>2011-08-11T07:00:00.000-07:00</published><updated>2011-08-11T07:03:16.617-07:00</updated><title type='text'>Erro &quot;Um arquivo especificado na seção de módulos deste modelo já existe.&quot;</title><content type='html'>Olá,&lt;br /&gt;&lt;br /&gt;Ao tentar ativar uma feature, recebi o seguinte erro:&lt;br /&gt;&lt;br /&gt;&quot;Um arquivo especificado na seção de módulos deste modelo já existe.&quot;&lt;br /&gt;&lt;br /&gt;Após instalar e reinstalar feature várias vezes. (minutos perdidos da minha vida)&lt;br /&gt;&lt;br /&gt;Encontrei no o segguinte POST&lt;br /&gt;http://lawo.wordpress.com/2010/09/11/file-specified-in-the-modules-section-of-this-template-already-exists/&lt;br /&gt;&lt;br /&gt;Que descreve a solução :)&lt;br /&gt;&lt;br /&gt;Basicamente, é necessário ir no arquivo Elements do seu modulo e trocar a propriedade &quot;IgnoreIfAlreadyExists&quot; para &quot;true&quot;&lt;br /&gt;&lt;br /&gt;Abraço,&lt;br /&gt;Maca&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://leonardomacanudo.blogspot.com/feeds/5448743876510018904/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/734767866321952435/5448743876510018904' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/5448743876510018904'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/5448743876510018904'/><link rel='alternate' type='text/html' href='http://leonardomacanudo.blogspot.com/2011/08/erro-um-arquivo-especificado-na-secao.html' title='Erro &quot;Um arquivo especificado na seção de módulos deste modelo já existe.&quot;'/><author><name>Leonardo Macanudo</name><uri>http://www.blogger.com/profile/14298618071954196095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-734767866321952435.post-2250265337983423723</id><published>2011-07-15T11:52:00.000-07:00</published><updated>2011-07-15T11:59:56.370-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="MOSS 2007"/><category scheme="http://www.blogger.com/atom/ns#" term="Sharepoint 2010"/><category scheme="http://www.blogger.com/atom/ns#" term="WSP"/><title type='text'>Como fazer deploy WSP (moss 2007) em um Sharepoint 2010 server</title><content type='html'>Olá Amigos,&lt;br /&gt;&lt;br /&gt;Depois de 150 anos distante do blog resolvi postar novamente :)&lt;br /&gt;&lt;br /&gt;Hoje me deparei com o seguinte problema:&lt;br /&gt;&lt;br /&gt;Fazer deploy de um wsp (moss 2007) em um Sharepoint 2010.&lt;br /&gt;Fui em busca do conhecimento (by Et Bilú)  e descobri que é uma operação bastante simples.&lt;br /&gt;&lt;br /&gt;No Visual Studio 2010, sigam os seguintes passos:&lt;br /&gt;1) Crie um Novo Projeto;&lt;br /&gt;2) Selecione Import SharePoint Solution Package (dentro da aba Sharepoint)&lt;br /&gt;3) Nomeie seu Projeto&lt;br /&gt;4) Escolha a Farm Solution&lt;br /&gt;5) Faça Upload do seu WSP&lt;br /&gt;6) Troque o nome da Feature para o nome da antiga Feature (feature do wsp)&lt;br /&gt;7) Build&lt;br /&gt;8) Deploy&lt;br /&gt;9) Teste&lt;br /&gt;&lt;br /&gt;Facílimo!&lt;br /&gt;&lt;br /&gt;Até a próxima.</content><link rel='replies' type='application/atom+xml' href='http://leonardomacanudo.blogspot.com/feeds/2250265337983423723/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/734767866321952435/2250265337983423723' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/2250265337983423723'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/2250265337983423723'/><link rel='alternate' type='text/html' href='http://leonardomacanudo.blogspot.com/2011/07/como-fazer-deploy-wsp-moss-2007-em-um.html' title='Como fazer deploy WSP (moss 2007) em um Sharepoint 2010 server'/><author><name>Leonardo Macanudo</name><uri>http://www.blogger.com/profile/14298618071954196095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-734767866321952435.post-7705806928408523407</id><published>2009-03-25T07:28:00.000-07:00</published><updated>2009-03-25T07:38:34.213-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Customization with Visual Studio"/><category scheme="http://www.blogger.com/atom/ns#" term="MOSS 2007"/><category scheme="http://www.blogger.com/atom/ns#" term="Sharepoint 2003"/><category scheme="http://www.blogger.com/atom/ns#" term="WSS 3.0"/><title type='text'>Fazer Download de documentos do Sharepoint 2003 usando WS nativos e sem usar OM</title><content type='html'>Olá Amigos,&lt;br /&gt;&lt;br /&gt;Abaixo um pequeno código, que demotra como podemos baixar documentos de uma document library do SharePoint 2003.&lt;br /&gt;&lt;br /&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgllOEveQNfBrRqZTC7V3uCy1ULyQLclwaCY34Kmmdbfa-LPwAKFLjIdtAOP2gSUZGgGkW4hfRpDfEgzbLXpjLdtrncX0Rw7d6O7__jCipqmQrr094u2rOAd5WdAvwO39dU7RfIXDPaIAI/s1600-h/p1.JPG&quot;&gt;&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgllOEveQNfBrRqZTC7V3uCy1ULyQLclwaCY34Kmmdbfa-LPwAKFLjIdtAOP2gSUZGgGkW4hfRpDfEgzbLXpjLdtrncX0Rw7d6O7__jCipqmQrr094u2rOAd5WdAvwO39dU7RfIXDPaIAI/s320/p1.JPG&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5317133363118233794&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;        public void DownloadFilesFromDocumentLibrary(string url, string documentLibraryName){&lt;br /&gt;            Lists.Lists proxy = new Lists.Lists();//set url and credentials on proxy&lt;br /&gt;            proxy.Url = url + &quot;_vti_bin/lists.asmx&quot;;            &lt;br /&gt;            proxy.Credentials = CredentialCache.DefaultCredentials;//call get list items to retrieve document library &lt;br /&gt;            XmlNode elm = proxy.GetListItems(documentLibraryName, null, null, null, null, null);&lt;br /&gt;            XmlNamespaceManager nsMgr = new XmlNamespaceManager(elm.OwnerDocument.NameTable);&lt;br /&gt;            nsMgr.AddNamespace(&quot;rs&quot;, &quot;urn:schemas-microsoft-com:rowset&quot;);&lt;br /&gt;            nsMgr.AddNamespace(&quot;z&quot;, &quot;#RowsetSchema&quot;);&lt;br /&gt;            if (elm != null){&lt;br /&gt;                XmlNode dataNode = elm.SelectSingleNode(&quot;rs:data&quot;, nsMgr);&lt;br /&gt;                int itemCount = Convert.ToInt32(dataNode.Attributes.GetNamedItem(&quot;ItemCount&quot;).Value);&lt;br /&gt;                if (itemCount == 0){&lt;br /&gt;                    Console.WriteLine(&quot;Nothing to download&quot;);&lt;br /&gt;                }else{&lt;br /&gt;                    foreach (XmlNode row in dataNode.SelectNodes(&quot;z:row&quot;, nsMgr))&lt;br /&gt;                    {&lt;br /&gt;                        //Response.Write(row.Attributes.GetNamedItem(&quot;ows_LinkFilename&quot;).Value+&quot;&lt;br /&gt;&quot;);&lt;br /&gt;                        DownLoadFile(url, documentLibraryName, row.Attributes.GetNamedItem(&quot;ows_LinkFilename&quot;).Value);&lt;br /&gt;                    }&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;&lt;a target=&quot;_blank&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCOD8h_dqSkivK3dse1GetkRtNSaW8tLpIxWeo2c8_-0DEvPt6yiG9AzduCwginMmQeIL0ujqX0LvWzU3DiFvf_hGN8mmFHeWNvU04eai36EGz9RFTlliZS5r3BmjBIEvp9IZ5ovS3aIM/s1600-h/p2.JPG&quot;&gt;&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCOD8h_dqSkivK3dse1GetkRtNSaW8tLpIxWeo2c8_-0DEvPt6yiG9AzduCwginMmQeIL0ujqX0LvWzU3DiFvf_hGN8mmFHeWNvU04eai36EGz9RFTlliZS5r3BmjBIEvp9IZ5ovS3aIM/s320/p2.JPG&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5317133848186920450&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;        public void DownLoadFile(string url, string documentLibraryName, string fileName){&lt;br /&gt;            //string downloadPage = url + &quot;/download.aspx&quot;;&lt;br /&gt;            HttpWebRequest request = null;&lt;br /&gt;            HttpWebResponse response = null;&lt;br /&gt;            Stream responseStream = null;&lt;br /&gt;            FileStream fs = null;&lt;br /&gt;            try{&lt;br /&gt;                //request = (HttpWebRequest) HttpWebRequest.Create(downloadPage + &quot;?SourceUrl=&quot; + documentLibraryName + &quot;/&quot; + fileName);&lt;br /&gt;                request = (HttpWebRequest)HttpWebRequest.Create(SharePointHost + documentLibraryName + &quot;/&quot; + fileName);&lt;br /&gt;                request.Credentials = CredentialCache.DefaultCredentials;&lt;br /&gt;                request.Timeout = 6000;&lt;br /&gt;                response = (HttpWebResponse)request.GetResponse();&lt;br /&gt;                responseStream = response.GetResponseStream();//write to filesystem&lt;br /&gt;                fs = new FileStream(fileName, FileMode.Create);&lt;br /&gt;                byte[] buffer = new byte[1024];&lt;br /&gt;                int count = responseStream.Read(buffer, 0, buffer.Length);&lt;br /&gt;                while (count &gt; 0)&lt;br /&gt;                {&lt;br /&gt;                    fs.Write(buffer, 0, buffer.Length); &lt;br /&gt;                    count = responseStream.Read(buffer, 0, buffer.Length);&lt;br /&gt;                } &lt;br /&gt;            } &lt;br /&gt;            finally{&lt;br /&gt;                if(fs != null)&lt;br /&gt;                    fs.Close();&lt;br /&gt;                if(responseStream != null)&lt;br /&gt;                    responseStream.Close();&lt;br /&gt;                if(response!=null) &lt;br /&gt;                    response.Close();&lt;br /&gt;            }&lt;br /&gt;        }</content><link rel='replies' type='application/atom+xml' href='http://leonardomacanudo.blogspot.com/feeds/7705806928408523407/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/734767866321952435/7705806928408523407' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/7705806928408523407'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/7705806928408523407'/><link rel='alternate' type='text/html' href='http://leonardomacanudo.blogspot.com/2009/03/fazer-download-de-documentos-do.html' title='Fazer Download de documentos do Sharepoint 2003 usando WS nativos e sem usar OM'/><author><name>Leonardo Macanudo</name><uri>http://www.blogger.com/profile/14298618071954196095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgllOEveQNfBrRqZTC7V3uCy1ULyQLclwaCY34Kmmdbfa-LPwAKFLjIdtAOP2gSUZGgGkW4hfRpDfEgzbLXpjLdtrncX0Rw7d6O7__jCipqmQrr094u2rOAd5WdAvwO39dU7RfIXDPaIAI/s72-c/p1.JPG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-734767866321952435.post-1612119167547466535</id><published>2008-12-12T05:36:00.000-08:00</published><updated>2008-12-12T05:43:29.439-08:00</updated><title type='text'>FormatDateTime - Mostrar hora no formato 24 horas</title><content type='html'>Olá Amigos,&lt;br /&gt;&lt;br /&gt;Dica idiota, mas me custou alguns minutos da minha vida =]&lt;br /&gt;&lt;br /&gt;Eu estava usando o código, para formatar a hora no formato 12 horas&lt;br /&gt;&lt;br /&gt;&amp;lt;xsl:value-of select=&quot;ddwrt:FormatDateTime(string(@EventDate) ,1046,&#39;hh:mm&#39;)&quot; /&amp;gt;&lt;br /&gt;&lt;br /&gt;Precisava mostrar no formato 24 horas, para isso, foi só trocar a mascara de &#39;hh:mm&#39; p/ &#39;HH:mm&#39;&lt;br /&gt;&lt;br /&gt;&amp;lt;xsl:value-of select=&quot;ddwrt:FormatDateTime(string(@EventDate) ,1046,&#39;HH:mm&#39;)&quot; /&amp;gt;&lt;br /&gt;&lt;br /&gt;Abraços,&lt;br /&gt;Leonardo</content><link rel='replies' type='application/atom+xml' href='http://leonardomacanudo.blogspot.com/feeds/1612119167547466535/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/734767866321952435/1612119167547466535' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/1612119167547466535'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/1612119167547466535'/><link rel='alternate' type='text/html' href='http://leonardomacanudo.blogspot.com/2008/12/formatdatetime-mostrar-hora-no-formato.html' title='FormatDateTime - Mostrar hora no formato 24 horas'/><author><name>Leonardo Macanudo</name><uri>http://www.blogger.com/profile/14298618071954196095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-734767866321952435.post-8812845872329914719</id><published>2008-08-22T10:19:00.001-07:00</published><updated>2008-08-22T10:29:32.372-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="MOSS 2007"/><category scheme="http://www.blogger.com/atom/ns#" term="Sharepoint"/><category scheme="http://www.blogger.com/atom/ns#" term="SPList"/><category scheme="http://www.blogger.com/atom/ns#" term="SPListItem"/><category scheme="http://www.blogger.com/atom/ns#" term="SPView"/><category scheme="http://www.blogger.com/atom/ns#" term="WSS 3.0"/><title type='text'>Lendo dados de uma View (SPView) (Exibição)</title><content type='html'>Olá PessoALL,&lt;br /&gt;&lt;br /&gt;Faz tempão que não posto e ainda por cima vou aparecer hoje por aqui para dar uma dicazinha bem simples =]&lt;br /&gt;&lt;br /&gt;Criar views (exibições) em listas do SharePoint é uma tarefa muito simples e bem poderosa. Conseguimos fazer diversas funcionalidades (agrupamento, ordenação, limitar itens) usando apenas o mouse.&lt;br /&gt;&lt;br /&gt;Então por que ao criarmos uma WebPart precisamos fazer tudo de novo? Na verdade não precisamos ^^&lt;br /&gt;Podemos ler itens diretamente de uma View (Exibição)&lt;br /&gt;&lt;br /&gt;Bem, chega de chalálá e vamos ao código:&lt;br /&gt;&lt;br /&gt;SPListItemCollection coll = spWeb.Lists[&quot;ListName&quot;].GetItems(spWebInstance.Lists[&quot;ListName&quot;].Views[&quot;ViewName&quot;]);&lt;br /&gt;&lt;br /&gt;Toda malandragem envolvida neste código, está em passar a view por parâmetro para o método GetItems, se não pudéssemos fazer isso, seria necessário escrever um baita CAML para alcançar as funcionalidades (agrupamento, ordenação, limitar itens)  desejadas&lt;br /&gt;&lt;br /&gt;Maca espera ter sido útil =]&lt;br /&gt;&lt;br /&gt;Abraços,&lt;br /&gt;Leonardo Macanudo</content><link rel='replies' type='application/atom+xml' href='http://leonardomacanudo.blogspot.com/feeds/8812845872329914719/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/734767866321952435/8812845872329914719' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/8812845872329914719'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/8812845872329914719'/><link rel='alternate' type='text/html' href='http://leonardomacanudo.blogspot.com/2008/08/lendo-dados-de-uma-view-spview-exibio.html' title='Lendo dados de uma View (SPView) (Exibição)'/><author><name>Leonardo Macanudo</name><uri>http://www.blogger.com/profile/14298618071954196095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-734767866321952435.post-7975959291253876481</id><published>2008-05-27T14:19:00.000-07:00</published><updated>2008-05-27T14:23:44.638-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Customization with Visual Studio"/><category scheme="http://www.blogger.com/atom/ns#" term="MOSS 2007"/><category scheme="http://www.blogger.com/atom/ns#" term="Object Model"/><category scheme="http://www.blogger.com/atom/ns#" term="WSS 3.0"/><title type='text'>Collection was modified; enumeration operation may not execute</title><content type='html'>Ol&amp;aacute; Amigos,&lt;br /&gt;&lt;br /&gt;Tenho duas listas relacionadas (t&amp;oacute;picos,respostas), preciso remover todas as respostas relacionadas a um determinado t&amp;oacute;pico.&lt;br /&gt;&lt;br /&gt;O primeiro c&amp;oacute;digo que vem a cabe&amp;ccedil;a &amp;eacute; fazer um for each e deletar item por item.&lt;br /&gt;&lt;br /&gt;Como no exemplo abaixo:&lt;br /&gt;&lt;br /&gt;SPQuery q = new SPQuery();&lt;br /&gt;q.Query = &amp;quot;&amp;lt;Where&amp;gt;&amp;lt;Eq&amp;gt;&amp;lt;FieldRef Name=&#39;Topico&#39; /&amp;gt;&amp;lt;Value Type=&#39;Lookup&#39;&amp;gt;&amp;quot; + sTopico + &amp;quot;&amp;lt;/Value&amp;gt;&amp;lt;/Eq&amp;gt;&amp;lt;/Where&amp;gt;&amp;quot;;&lt;br&gt;  &lt;br /&gt;SPList listRespostas = SPContext.Current.Web.Lists[&amp;quot;Respostas&amp;quot;];&lt;br /&gt;SPListItemCollection itensTopicos = listRespostas.GetItems(q);&lt;br /&gt; &lt;br /&gt;foreach (SPListItem itemResposta in itensTopicosFake)&lt;br /&gt;{&lt;br /&gt;   itemResposta.Delete();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Por&amp;eacute;m quando executamos este c&amp;oacute;digo, nos deparamos com o seguinte erro.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Collection was modified; enumeration operation may not execute&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Este erro acontece porque a collection que eu estou usando no for each, est&amp;aacute; sendo modificada dentro dele mesmo.&lt;br /&gt;&lt;br /&gt;Para resolver este problema substitui o for each pelo while abaixo.&lt;br /&gt;&lt;br /&gt;while (itensTopicos.Count &amp;gt; 0)&lt;br /&gt;  itensTopicos[0].Delete();&lt;br /&gt;&lt;br /&gt;Abra&amp;ccedil;os,&lt;br /&gt;Leonardo</content><link rel='replies' type='application/atom+xml' href='http://leonardomacanudo.blogspot.com/feeds/7975959291253876481/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/734767866321952435/7975959291253876481' title='6 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/7975959291253876481'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/7975959291253876481'/><link rel='alternate' type='text/html' href='http://leonardomacanudo.blogspot.com/2008/05/collection-was-modified-enumeration.html' title='Collection was modified; enumeration operation may not execute'/><author><name>Leonardo Macanudo</name><uri>http://www.blogger.com/profile/14298618071954196095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-734767866321952435.post-161245672600261806</id><published>2008-05-23T14:36:00.000-07:00</published><updated>2008-05-23T14:41:33.225-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="MOSS 2007"/><category scheme="http://www.blogger.com/atom/ns#" term="Sharepoint"/><category scheme="http://www.blogger.com/atom/ns#" term="WSS 3.0"/><category scheme="http://www.blogger.com/atom/ns#" term="XSL"/><title type='text'>SharePoint Data View Permissão de Usuários</title><content type='html'>Olá Amigos,&lt;br /&gt;&lt;br /&gt;Para verificar o nível de permissão de um usuário quando estamos dentro de um XSL, devemos utilizar a função &quot;ddwrt:IfHasRights(codigoDaPermissao)&quot;.&lt;br /&gt;&lt;br /&gt;Exemplo (Exclusão de itens):&lt;br /&gt;&lt;br /&gt;&amp;lt;xsl:if test=&quot;ddwrt:IfHasRights(8)&quot;&amp;gt;&lt;br /&gt;...&lt;br /&gt;&amp;lt;/xsl:if&amp;gt; &lt;br /&gt;&lt;br /&gt;Abaixo as permissões e seus respectivos &quot;códigos&quot; &lt;br /&gt;&lt;br /&gt;ViewListItems - 1 &lt;br /&gt;AddListItems - 2 &lt;br /&gt;EditListItems - 4 &lt;br /&gt;DeleteListItems - 8 &lt;br /&gt;ApproveItems - 16 &lt;br /&gt;OpenItems - 32 &lt;br /&gt;ViewVersions - 64 &lt;br /&gt;DeleteVersions - 128 &lt;br /&gt;CancelCheckout - 256 &lt;br /&gt;PersonalViews - 512 &lt;br /&gt;ManageLists - 2048 &lt;br /&gt;ViewFormPages - 4096 &lt;br /&gt;Open - 65536 &lt;br /&gt;ViewPages - 131072 &lt;br /&gt;AddAndCustomizePages - 262144 &lt;br /&gt;ApplyThemeAndBorder - 524288 &lt;br /&gt;ApplyStyleSheets - 1048576 &lt;br /&gt;ViewUsageData - 2097152 &lt;br /&gt;CreateSSCSite - 4194314 &lt;br /&gt;ManageSubwebs - 8388608 &lt;br /&gt;CreateGroups - 16777216 &lt;br /&gt;ManagePermissions - 33554432 &lt;br /&gt;BrowseDirectories - 67108864 &lt;br /&gt;BrowseUserInfo - 134217728 &lt;br /&gt;AddDelPrivateWebParts - 268435456 &lt;br /&gt;UpdatePersonalWebParts - 536870912 &lt;br /&gt;ManageWeb - 1073741824 &lt;br /&gt;UseRemoteAPIs - 137438953472 &lt;br /&gt;ManageAlerts - 274877906944 &lt;br /&gt;CreateAlerts - 549755813888 &lt;br /&gt;EditMyUserInfo - 1099511627776 &lt;br /&gt;EnumeratePermissions - 4611686018427387904 &lt;br /&gt;FullMask - 9223372036854775807&lt;br /&gt;&lt;br /&gt;É um script curto, porém esta função ainda vai salvar sua vida.&lt;br /&gt;&lt;br /&gt;Abraços,&lt;br /&gt;Leonardo</content><link rel='replies' type='application/atom+xml' href='http://leonardomacanudo.blogspot.com/feeds/161245672600261806/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/734767866321952435/161245672600261806' title='3 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/161245672600261806'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/161245672600261806'/><link rel='alternate' type='text/html' href='http://leonardomacanudo.blogspot.com/2008/05/sharepoint-data-view-permisso-de.html' title='SharePoint Data View Permissão de Usuários'/><author><name>Leonardo Macanudo</name><uri>http://www.blogger.com/profile/14298618071954196095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-734767866321952435.post-1462744114931442647</id><published>2008-05-19T12:40:00.000-07:00</published><updated>2008-09-03T10:08:41.707-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="MOSS 2007"/><category scheme="http://www.blogger.com/atom/ns#" term="Sharepoint"/><category scheme="http://www.blogger.com/atom/ns#" term="WSS 3.0"/><category scheme="http://www.blogger.com/atom/ns#" term="XSL"/><title type='text'>XSL formatar data no formato DD/MM</title><content type='html'>Olá Amigos,&lt;br /&gt;&lt;br /&gt;Corrigindo este POST =]&lt;br /&gt;&lt;br /&gt;Abaixo vocês vão ver toda uma choradeira de minha parte e uma baita gambiarra.&lt;br /&gt;Porém existe um forma elegante sim de resolver este problema.&lt;br /&gt;&lt;br /&gt;É essa:&lt;br /&gt;&lt;br /&gt;&amp;lt;xsl:value-of select=&quot;ddwrt:FormatDateTime(string(@Data),1046,&#39;dd/MM&#39;)&quot;/&amp;gt;&lt;br /&gt;&lt;br /&gt;Abaixo uma pequena gambiarra criada por mim para exibir a data no formato DD/MM, tive que fazer isto, pois a função nativa do SharePoint (ddwrt:FormatDate) não oferece este formato.&lt;br /&gt;&lt;br /&gt;Abraços,&lt;br /&gt;Leonardo&lt;br /&gt;&lt;br /&gt;&amp;lt;xsl:choose&amp;gt;&lt;br /&gt; &amp;lt;xsl:when test=&quot;number(substring-before(@_DCDateCreated,&#39;/&#39;)) &amp;lt;= 9&quot;&amp;gt;0&amp;lt;xsl:value-of select=&quot;substring-before(@_DCDateCreated,&#39;/&#39;)&quot;/&amp;gt;&amp;lt;/xsl:when&amp;gt;&lt;br /&gt; &amp;lt;xsl:otherwise&amp;gt;&amp;lt;xsl:value-of select=&quot;substring-before(@_DCDateCreated,&#39;/&#39;)&quot;/&amp;gt;&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;&amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;/&lt;br /&gt;&amp;lt;xsl:choose&amp;gt;&lt;br /&gt; &amp;lt;xsl:when test=&quot;number(substring-before(substring-after(@_DCDateCreated,&#39;/&#39;),&#39;/&#39;)) &amp;lt;= 9&quot;&amp;gt;0&amp;lt;xsl:value-of select=&quot;substring-before(substring-after(@_DCDateCreated,&#39;/&#39;),&#39;/&#39;)&quot;/&amp;gt;&amp;lt;/xsl:when&amp;gt;&lt;br /&gt; &amp;lt;xsl:otherwise&amp;gt;&amp;lt;xsl:value-of select=&quot;substring-before(substring-after(@_DCDateCreated,&#39;/&#39;),&#39;/&#39;)&quot;/&amp;gt;&amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;&amp;lt;/xsl:choose&amp;gt;</content><link rel='replies' type='application/atom+xml' href='http://leonardomacanudo.blogspot.com/feeds/1462744114931442647/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/734767866321952435/1462744114931442647' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/1462744114931442647'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/1462744114931442647'/><link rel='alternate' type='text/html' href='http://leonardomacanudo.blogspot.com/2008/05/xsl-formatar-data-no-formato-ddmm.html' title='XSL formatar data no formato DD/MM'/><author><name>Leonardo Macanudo</name><uri>http://www.blogger.com/profile/14298618071954196095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-734767866321952435.post-715514062847086222</id><published>2008-05-15T05:33:00.000-07:00</published><updated>2008-05-15T05:38:29.931-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="CAML"/><category scheme="http://www.blogger.com/atom/ns#" term="CAML SPList Sharepoint WSS MOSS"/><category scheme="http://www.blogger.com/atom/ns#" term="MOSS 2007"/><category scheme="http://www.blogger.com/atom/ns#" term="WSS 3.0"/><title type='text'>Evitar os cabelos brancos gerados CAML</title><content type='html'>Olá Amigos,&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;No link abaixo vocês vão encontrar um aplicativo que torna visual a criação das querys caml.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.u2u.info/SharePoint/U2U%20Community%20Tools/Forms/AllItems.aspx&quot;&gt;http://www.u2u.info/SharePoint/U2U%20Community%20Tools/Forms/AllItems.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Abraços,&lt;br /&gt;Maca</content><link rel='replies' type='application/atom+xml' href='http://leonardomacanudo.blogspot.com/feeds/715514062847086222/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/734767866321952435/715514062847086222' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/715514062847086222'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/715514062847086222'/><link rel='alternate' type='text/html' href='http://leonardomacanudo.blogspot.com/2008/05/evitar-os-cabelos-brancos-gerados-caml.html' title='Evitar os cabelos brancos gerados CAML'/><author><name>Leonardo Macanudo</name><uri>http://www.blogger.com/profile/14298618071954196095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-734767866321952435.post-3415618028398169049</id><published>2008-04-10T13:36:00.000-07:00</published><updated>2008-04-10T13:38:31.924-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="MOSS 2007"/><title type='text'>Sharepoint User Profile</title><content type='html'>Quando vamos criar um projeto com autenticação forms no MOSS sempre nos vem a pergunta, Onde vamos guardar as informações dos usuários? Em lista, em Banco, no próprio membership onde? &lt;br /&gt;A resposta para essa pergunta é n.d.a  =]&lt;br /&gt;O jeito correto de guardar usuários é o User Profile,  com ele é possível administrar usuários em um lugar único, ou seja,  várias web app podem compartilhar os mesmos usuários.&lt;br /&gt;O User Profile já vem com diversos campos por default e também possibilita a criação de novos campos tanto via interface, quanto via Object Model. O namespace responsável por manipular o User Profile é Microsoft.Office.Server.UserProfiles.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Criando usuários:&lt;/strong&gt;&lt;br /&gt;try{&lt;br /&gt;    using (SPSite spSite = new SPSite(@&quot;http://localhost&quot;)){&lt;br /&gt;        ServerContext siteContext = ServerContext.GetContext(spSite);&lt;br /&gt;        UserProfileManager pmManager = new UserProfileManager(siteContext);&lt;br /&gt;        Console.WriteLine(&quot;Number of users: &quot; + pmManager.Count);&lt;br /&gt;        string strUserName = &quot;macanudocorporation\\admin&quot;;&lt;br /&gt;        UserProfile newUser = null;&lt;br /&gt;        if (!pmManager.UserExists(strUserName))&lt;br /&gt;        {&lt;br /&gt;            newUser = pmManager.CreateUserProfile(strUserName);&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}catch (Exception exp){&lt;br /&gt;Console.WriteLine(exp.Message);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Editando Usuários&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;try{&lt;br /&gt;    using (SPSite spSite = new SPSite(@&quot;http://localhost&quot;)){&lt;br /&gt;        ServerContext siteContext = ServerContext.GetContext(spSite);&lt;br /&gt;        UserProfileManager pmManager = new UserProfileManager(siteContext);&lt;br /&gt;        Console.WriteLine(&quot;Number of users: &quot; + pmManager.Count);&lt;br /&gt;        string strUserName = &quot;macanudocorporation\\admin&quot;;&lt;br /&gt;        UserProfile newUser = null;&lt;br /&gt;        if (!pmManager.UserExists(strUserName))&lt;br /&gt;        {&lt;br /&gt;            user = pmManager.GetUserProfile(strUserName);&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}catch (Exception exp){&lt;br /&gt;Console.WriteLine(exp.Message);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Deletando usuários&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;try{&lt;br /&gt;    using (SPSite spSite = new SPSite(@&quot;http://localhost&quot;))        &lt;br /&gt;    {&lt;br /&gt;        ServerContext siteContext = ServerContext.GetContext(spSite);&lt;br /&gt;        UserProfileManager pmManager = new UserProfileManager(siteContext);&lt;br /&gt;        Console.WriteLine(&quot;Number of users: &quot; + pmManager.Count);&lt;br /&gt;        string strUserName = &quot;macanudocorporation\\admin&quot;;&lt;br /&gt;        if (pmManager.UserExists(strUserName))&lt;br /&gt;        {&lt;br /&gt;            pmManager.RemoveUserProfile(strUserName);&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}catch (Exception exp){&lt;br /&gt;    Console.WriteLine(exp.Message);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Por hora é isso! &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Abraços,&lt;br /&gt;Maca</content><link rel='replies' type='application/atom+xml' href='http://leonardomacanudo.blogspot.com/feeds/3415618028398169049/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/734767866321952435/3415618028398169049' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/3415618028398169049'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/3415618028398169049'/><link rel='alternate' type='text/html' href='http://leonardomacanudo.blogspot.com/2008/04/sharepoint-user-profile.html' title='Sharepoint User Profile'/><author><name>Leonardo Macanudo</name><uri>http://www.blogger.com/profile/14298618071954196095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-734767866321952435.post-1601295618054626258</id><published>2008-03-13T07:24:00.001-07:00</published><updated>2008-03-13T07:33:42.254-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Customization with Visual Studio"/><category scheme="http://www.blogger.com/atom/ns#" term="MOSS 2007"/><category scheme="http://www.blogger.com/atom/ns#" term="Sharepoint"/><category scheme="http://www.blogger.com/atom/ns#" term="WSS 3.0"/><title type='text'>CALLSTACK, CUSTOMERRORS &amp; DEBUG MODE</title><content type='html'>Olá Amigos,&lt;br /&gt;&lt;br /&gt;Hoje vou postar uma importante dica =]&lt;br /&gt;Encontrei essa pérola no blog[1] do Hélio Sá Moreira.&lt;br /&gt;&lt;br /&gt;As vezes (rs) obtemos mensagens de erro nada informativas ou claras durante a utilização (ou tentativa de utilização) de alguns recursos do Sharepoint. Um caso clássico, que obtive em um ambiente que trabalhei esta semana, foi: Unknown Error Occurred OU An unspecified error has occured.&lt;br /&gt;&lt;br /&gt;Para desativa-las temos que executar o seguinte procedimento =]&lt;br /&gt;&lt;br /&gt;São basicamente 3 itens de configuração - que podem ser utilizados em conjunto ou separadamente para um processo de troubleshoot detalhado.&lt;br /&gt;&lt;br /&gt;01 - CUSTOMERRORS&lt;br /&gt;&lt;br /&gt;Essa configuração - que por padrão apresenta o valor &quot;ON&quot; - redireciona o tratamento de erros para um módulo de tratamento de erros do Sharepoint. Este módulo é muito importante, mas quando o mesmo não consegue classificar o erro as mensagens &#39;genéricas&#39; são apresentadas.&lt;br /&gt;&lt;br /&gt;Para desabilitar este redirecionamento - retornando ao modelo padrão do ASP.Net 2.0 - podemos mudar o valor desta configuração para &quot;OFF&quot;.&lt;br /&gt;&lt;br /&gt;No Web.Config, essa configuração pode ser encontrada no seguinte path: Configuration \ System.web \ CustomErrors.&lt;br /&gt;&lt;br /&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;yes&quot;?&amp;gt;&lt;br /&gt;&amp;lt;configuration&amp;gt;&lt;br /&gt;...&lt;br /&gt;&amp;lt;system.web&amp;gt;&lt;br /&gt;...&lt;br /&gt;&amp;lt;customerrors mode=&quot;On&quot;&amp;gt;&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;Com isso, voltamos as telas de erro do ASP.Net! Vale lembrar que esta configuração deve ser realizada somente no processo de verificação de um erro - e o seu valor padrão deve ser re-configurado para que mensagens informativas aos usuários possam ser apresentadas de uma forma gerenciável e &quot;não-agressiva&quot;!&lt;br /&gt;&lt;br /&gt;Esta mudança já deve ajudar bastante na identificação das possíveis razões do problema ....&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;02 - CALLSTACK&lt;br /&gt;&lt;br /&gt;Esta configuração é relacionada ao nível de informações e detalhes apresentados sob o erro quando o mesmo ocorre. Voltando ao cenário de troubleshoot, quando mais informações relacionadas ao problema melhor - incluindo inclusive todos os métodos envolvidos e a hierarquia de execução! ;-)&lt;br /&gt;&lt;br /&gt;Por padrão esta configuração possui o valor &quot;FALSE&quot; - e pode ser encontrada na seguinte estrutura: Configuration \ SharePoint \ SafeMode. Para habilitar este modo, devemos configurar o CallStack com o valor &quot;TRUE&quot;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;configuration&amp;gt;&lt;br /&gt;...&lt;br /&gt;&amp;lt;sharepoint&amp;gt;&lt;br /&gt;&amp;lt;safemode callstack=&quot;false&quot;&amp;gt;&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;Esta configuração é relacionada ao nível de informações e detalhes apresentados sob o erro quando o mesmo ocorre. Voltando ao cenário.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;02 - DEBUG MODE&lt;br /&gt;&lt;br /&gt;Este item esta relacionado ao modelo de compilação utilizado pelo .Net Framework 2.0 (JIT - Just-in-time compilation). O valor padrão para o DEBUG é false. Mas, em um cenário de Troubleshoot o DEBUG=&quot;TRUE&quot; aumenta o nível de detalhamento das informações repassadas ao Stack Trace e consequentemente aumenta as informações repassadas às nossas telas de erro!&lt;br /&gt;&lt;br /&gt;Este item pode ser encontrado na seguinte estrutura: Configuration \ System.Web \ Compilation.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;configuration&amp;gt;&lt;br /&gt;...&lt;br /&gt;&amp;lt;system.web&amp;gt;&lt;br /&gt;...&lt;br /&gt;&amp;lt;compilation debug=&quot;false&quot; batch=&quot;false&quot;&amp;gt;&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;Abraços,&lt;br /&gt;Maca&lt;br /&gt;&lt;br /&gt;blog&lt;br /&gt;[1] http://www.sharepointbrasil.net/default.aspx</content><link rel='replies' type='application/atom+xml' href='http://leonardomacanudo.blogspot.com/feeds/1601295618054626258/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/734767866321952435/1601295618054626258' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/1601295618054626258'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/1601295618054626258'/><link rel='alternate' type='text/html' href='http://leonardomacanudo.blogspot.com/2008/03/callstack-customerrors-debug-mode.html' title='CALLSTACK, CUSTOMERRORS &amp; DEBUG MODE'/><author><name>Leonardo Macanudo</name><uri>http://www.blogger.com/profile/14298618071954196095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-734767866321952435.post-5114657362820568397</id><published>2008-02-22T06:44:00.000-08:00</published><updated>2008-02-22T06:47:27.402-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Lixeira"/><category scheme="http://www.blogger.com/atom/ns#" term="MOSS 2007"/><category scheme="http://www.blogger.com/atom/ns#" term="RecycleBin"/><category scheme="http://www.blogger.com/atom/ns#" term="SPRecycleBinItem"/><category scheme="http://www.blogger.com/atom/ns#" term="SPRecycleBinItemCollection"/><category scheme="http://www.blogger.com/atom/ns#" term="WSS 3.0"/><title type='text'>Listar Arquivos da Lixeira (AdminRecycleBin e RecycleBin)</title><content type='html'>Olá Amigos,&lt;br /&gt;&lt;br /&gt;Nos últimos dias me reparei com o seguinte problema, como fazer um relatório de páginas excluída de uma biblioteca de páginas Wiki. &lt;br /&gt;Após refletir um pouco sobre o assunto, me veio o estalo, Ler da Lixeira do site.  &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Como fazer isso?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Dentro do SPSite e SPWeb existe uma propriedade RecycleBin, esta propriedade retorna uma collection (SPRecycleBinItemCollection) com os itens (SPRecycleBinItem) da lixeira os itens.&lt;br /&gt;Após saber disso, acabaram-se as dificuldades. Só precisei fazer um foreach e verificar a propriedade ” DirName” está prorpriedade do  SPRecycleBinItem  contém o nome do local original do arquivo excluído.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Importante:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;O SPSite.RecycleBin guarda a lixeira do site collection, está lixeira tem todos os arquivos excluídos no site collection independente do usuário.&lt;br /&gt;&lt;br /&gt;O SPWeb.RecycleBin guarda a lixeira do site atual e lista apenas os arquivos excluídos pelo usuário do contexto.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Code:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;SPSite site = SPContext.Current.Site;&lt;br /&gt;foreach (SPRecycleBinItem itemGarbage in site.RecycleBin)&lt;br /&gt;{&lt;br /&gt;if (itemGarbage.DirName == &quot;Paginas Wiki&quot;)&lt;br /&gt; {&lt;br /&gt;  Response.Write(itemGarbage.Title);&lt;br /&gt; Response.Write(itemGarbage.DeletedDate.ToString(&quot;dd/MM/yyyy&quot;));&lt;br /&gt;  Response.Write(itemGarbage.DeletedBy);&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Abraços,&lt;br /&gt;Maca</content><link rel='replies' type='application/atom+xml' href='http://leonardomacanudo.blogspot.com/feeds/5114657362820568397/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/734767866321952435/5114657362820568397' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/5114657362820568397'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/5114657362820568397'/><link rel='alternate' type='text/html' href='http://leonardomacanudo.blogspot.com/2008/02/listar-arquivos-da-lixeira.html' title='Listar Arquivos da Lixeira (AdminRecycleBin e RecycleBin)'/><author><name>Leonardo Macanudo</name><uri>http://www.blogger.com/profile/14298618071954196095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-734767866321952435.post-8043178398396059760</id><published>2007-12-06T03:46:00.000-08:00</published><updated>2007-12-06T04:04:19.128-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="CAML SPList Sharepoint WSS MOSS"/><title type='text'>Filtrar dados de uma lista através de CAML</title><content type='html'>Olá Amigos,&lt;br /&gt;&lt;br /&gt;Ando meio sem tempo para postar, hoje vou fazer um breve post sobre como filtrar dados de uma lista.&lt;br /&gt;&lt;br /&gt;Como diria Mauro Sant&#39;Anna &quot;Nem tudo que pode ser inventado deve ser inventado. Um grande exemplo é o CAML&quot; :) &lt;br /&gt;&lt;br /&gt;Ao invés de utilizarmos consultas SQL para filtrarmos listas, a Microsoft criou uma linguagem chamada CAML. O CAML é um xml para expressar queries de bancos de dados.&lt;br /&gt;&lt;br /&gt;Se você quiser aprender mais sobre CAML, verifique o link abaixo. Ele fornece uma introdução sobre o assunto.&lt;br /&gt;&lt;br /&gt;http://msdn2.microsoft.com/en-us/library/ms948028.aspx&lt;br /&gt;&lt;br /&gt;Bem, chega de conversa =] Vamos a um pequeno exemplo :)&lt;br /&gt;&lt;br /&gt;Problema:&lt;br /&gt;Criar uma webPart, que lê um parametro passado pela QueryString e filtra a lista por este parametro.&lt;br /&gt;&lt;br /&gt;//Abrindo a web&lt;br /&gt;SPWeb web = SPContext.Current.Web;&lt;br /&gt;&lt;br /&gt;//Criado o CAML&lt;br /&gt;//Note que ele faz uma comparação entre o ID passado pela queryString e a coluna ID da lista&lt;br /&gt;SPQuery q = new SPQuery();   &lt;br /&gt;q.Query = &quot;&lt;Where&gt;&lt;Eq&gt;&lt;FieldRef Name=&#39;ID&#39; /&gt;&lt;Value Type=&#39;Integer&#39;&gt;&quot; + Convert.ToString(&quot;0&quot; + Page.Request.QueryString[&quot;ID&quot;]) + &quot;&lt;/Value&gt;&lt;/Eq&gt;&lt;/Where&gt;&quot;;&lt;br /&gt;&lt;br /&gt;//Carrega em itens uma colletion com os itens (tuplas) da lista task.&lt;br /&gt;SPListItemCollection itens = web.Lists[&quot;Tasks&quot;].GetItems(q);&lt;br /&gt;&lt;br /&gt;Era isso =]&lt;br /&gt;&lt;br /&gt;Abraços,&lt;br /&gt;Leonardo</content><link rel='replies' type='application/atom+xml' href='http://leonardomacanudo.blogspot.com/feeds/8043178398396059760/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/734767866321952435/8043178398396059760' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/8043178398396059760'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/8043178398396059760'/><link rel='alternate' type='text/html' href='http://leonardomacanudo.blogspot.com/2007/12/filtrar-dados-de-uma-lista-atravs-de.html' title='Filtrar dados de uma lista através de CAML'/><author><name>Leonardo Macanudo</name><uri>http://www.blogger.com/profile/14298618071954196095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-734767866321952435.post-779062833934777869</id><published>2007-11-07T10:45:00.001-08:00</published><updated>2007-11-07T10:53:04.402-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="MOSS 2007"/><category scheme="http://www.blogger.com/atom/ns#" term="Sharepoint"/><category scheme="http://www.blogger.com/atom/ns#" term="WSS 3.0"/><title type='text'>Configurar email no Sharepoint</title><content type='html'>Olá Amigos,&lt;br /&gt;&lt;br /&gt;Hoje vou dar uma de administrador e mostrar como configurar email no sharepoint =]&lt;br /&gt;&lt;br /&gt;É uma operação bastante simples, não requer prática nem habilidade.&lt;br /&gt;&lt;br /&gt;Basta executar uma linha de comando.&lt;br /&gt;&lt;br /&gt;stsadm.exe -o email -outsmtpserver &lt;smtp server&gt; -fromaddress &lt;from address&gt; -replytoaddress &lt;reply-to address&gt; -codepage &lt;codepage&gt; [-url &lt;url&gt;]&lt;br /&gt;&lt;br /&gt;Por exemplo, vamos utilizar o servidor de smtp &quot;SMTPServer&quot;, e vamos utilizar a conta de email someone@example.com como from e a mesma conta como reply-to.&lt;br /&gt;O código fica como no exemplo abaixo:&lt;br /&gt;&lt;br /&gt;stsadm.exe -o email -outsmtpserver SMTPServer -fromaddress someone@example.com -replytoaddress someone@example.com -codepage 65001 -url http://server_name&lt;br /&gt;&lt;br /&gt;Note que no último parametro configurei a url que vai utilizar esta confiuração de envio de email =]&lt;br /&gt;&lt;br /&gt;Como os amigos podem ver é bem mumuzinho =]&lt;br /&gt;&lt;br /&gt;Abraços,&lt;br /&gt;Leonardo</content><link rel='replies' type='application/atom+xml' href='http://leonardomacanudo.blogspot.com/feeds/779062833934777869/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/734767866321952435/779062833934777869' title='3 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/779062833934777869'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/779062833934777869'/><link rel='alternate' type='text/html' href='http://leonardomacanudo.blogspot.com/2007/11/configurar-email-no-sharepoint.html' title='Configurar email no Sharepoint'/><author><name>Leonardo Macanudo</name><uri>http://www.blogger.com/profile/14298618071954196095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-734767866321952435.post-1533438537325263918</id><published>2007-10-10T07:43:00.000-07:00</published><updated>2007-10-10T07:55:52.570-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="SPContext"/><category scheme="http://www.blogger.com/atom/ns#" term="SPSite"/><title type='text'>Passeio pelo Object Modelo Sharepoint - Part II</title><content type='html'>Olá Amigos,&lt;br /&gt;&lt;br /&gt;Hoje vou dar continuidade aos posts sobre o Object Model do Sharepoint.&lt;br /&gt;&lt;br /&gt;Hoje vou falar sobre uma classe estremamente útil e importante no desenvolvimento sharepoint (SPSite).&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;SPSite&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Através desse classe podemos acessar o nível de Site Colletion.&lt;br /&gt;Uma Site Colletion é uma coleção de sites (SPWeb)&lt;br /&gt;Cada objeto SPSite possui várias propriedades da coleção, tais como o responsável, conteúdo corrente do BD, a url do web site.&lt;br /&gt;&lt;br /&gt;SPSite mySiteColl = new SPSite(&quot;site_collection_URL&quot;);&lt;br /&gt;String siteCollOwner = mySiteColl.Owner.Name;&lt;br /&gt;String contentDB = mySiteColl.ContentDatabase.Name;&lt;br /&gt;String topLevelSite = mySiteCollection.RootWeb.Title;&lt;br /&gt;&lt;br /&gt;Importante: Existem várias maneiras de acessar uma site collection, a maneira citada acima deve ser utilizada quando estamos em uma aplicação fora do contexto do sharepoint. Se tivermos em uma webPart dentro do contexto do Sharepoint o código acima deveria ficar assim:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;SPSite mySiteColl = SPContext.Current.Site;&lt;/strong&gt;&lt;br /&gt;String siteCollOwner = mySiteColl.Owner.Name;&lt;br /&gt;String contentDB = mySiteColl.ContentDatabase.Name;&lt;br /&gt;String topLevelSite = mySiteCollection.RootWeb.Title;</content><link rel='replies' type='application/atom+xml' href='http://leonardomacanudo.blogspot.com/feeds/1533438537325263918/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/734767866321952435/1533438537325263918' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/1533438537325263918'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/1533438537325263918'/><link rel='alternate' type='text/html' href='http://leonardomacanudo.blogspot.com/2007/10/passeio-pelo-object-modelo-sharepoint_10.html' title='Passeio pelo Object Modelo Sharepoint - Part II'/><author><name>Leonardo Macanudo</name><uri>http://www.blogger.com/profile/14298618071954196095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-734767866321952435.post-7253001598662607311</id><published>2007-10-08T10:56:00.000-07:00</published><updated>2007-10-08T11:09:13.548-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Object Model"/><category scheme="http://www.blogger.com/atom/ns#" term="Sharepoint"/><category scheme="http://www.blogger.com/atom/ns#" term="SPfarm"/><category scheme="http://www.blogger.com/atom/ns#" term="WSS"/><title type='text'>Passeio pelo Object Modelo Sharepoint - Part I</title><content type='html'>Olá Amigos,&lt;br /&gt;&lt;br /&gt;Apartir de hoje escreverei uma serie de posts sobre o Object Model do sharepoint.&lt;br /&gt;Mas afinal, oque é object model?&lt;br /&gt;É a Arquitetura de programação do WSS, através dele conseguimos programaticamente manipular totalmente a estrutura do sharepoint.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;SPFarm&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Está no topo da hierarquia do object model.&lt;br /&gt;Cada objeto SPFarm tem uma coleção de servidores associados a ele representados pelo objeto SPServerCollection object.&lt;br /&gt;Você pode usar uma estrutura de repetição para iterar em cada servidor através do objeto SPServerCollection.&lt;br /&gt;&lt;br /&gt;SPFarm myFarm = SPFarm.Local;&lt;br /&gt;SPServerCollection myServerCollection = myFarm.Servers;&lt;br /&gt;foreach (SPServer myServer in myServerCollection){&lt;br /&gt;    //adiciona o código para executar a ação&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;SPWebApplication&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Representa um IIS load-balanced Web application.&lt;br /&gt;No WSS, aplicações web são representadas pela classe SPWebApplication. &lt;br /&gt;Cada objeto SPWebApplication tem uma coleção de coleções de site associadas a ele e que são representados pelo objeto SPSiteCollection. &lt;br /&gt;Você pode usar uma estrutura de repetição para interar com cada coleção de site no objeto SPSiteCollection. &lt;br /&gt;Coleções de site individuais são representadas pelos objetos SPSite.&lt;br /&gt;&lt;br /&gt;SPSite mySiteCollection =   new SPSite(&quot;site_collection_URL&quot;);&lt;br /&gt;SPWebApplication myWebApp = mySiteCollection.WebApplication; SPSiteCollection mySiteCollections =  myWebApp.Sites;&lt;br /&gt;foreach (SPSite siteCollection in mySiteCollections){&lt;br /&gt;    //executa a ação na coleção de sites&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Por hora é isso =]&lt;br /&gt;&lt;br /&gt;Abraços,&lt;br /&gt;Leonardo</content><link rel='replies' type='application/atom+xml' href='http://leonardomacanudo.blogspot.com/feeds/7253001598662607311/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/734767866321952435/7253001598662607311' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/7253001598662607311'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/7253001598662607311'/><link rel='alternate' type='text/html' href='http://leonardomacanudo.blogspot.com/2007/10/passeio-pelo-object-modelo-sharepoint.html' title='Passeio pelo Object Modelo Sharepoint - Part I'/><author><name>Leonardo Macanudo</name><uri>http://www.blogger.com/profile/14298618071954196095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-734767866321952435.post-3721278776671054776</id><published>2007-09-17T12:30:00.000-07:00</published><updated>2007-09-17T12:44:08.205-07:00</updated><title type='text'>&quot;Object reference not set to an instance of object&quot; Solucionado!</title><content type='html'>Olá Amigos,&lt;br /&gt;&lt;br /&gt;Após varias pesquisas na internet e inumeros testes,  desvendei o problema &quot;Object reference not set to an instance of object&quot;&lt;br /&gt;&lt;br /&gt;Inicialmente tentamos a solução apontada pelo site &lt;a href=&quot;http://www.wsswiki.com/Visual_Studio_Extensions_For_WSS_3.0&quot;&gt;http://www.wsswiki.com/Visual_Studio_Extensions_For_WSS_3.0&lt;/a&gt; porém a mesma não surtiu resultados.&lt;br /&gt;&lt;br /&gt;Após tentamos (Sem sucesso):&lt;br /&gt;Criar um arquivo .bat com as linhas&lt;br /&gt;&quot;%programfiles%\Microsoft Visual Studio 8\SDK\v2.0\Bin\gacutil.exe&quot; -if webpartTest.dll&lt;br /&gt;&quot;%programfiles%\Microsoft Visual Studio 8\SDK\v2.0\Bin\gacutil.exe&quot; -uf webpartTest&lt;br /&gt;&lt;br /&gt;Até que enfim:&lt;br /&gt;&lt;br /&gt;A solução encontrada é bastante simples,  na pasta de seu projeto existe um arquivo chamado solution.xml,  este arquivo tem um GUID que é utilizado como identificador.&lt;br /&gt;&lt;br /&gt;O problema era gerado porque havia duas soluções distintas com o mesmo ID.&lt;br /&gt;Para solucionarmos:&lt;br /&gt;1 -  geramos um novo GUID&lt;br /&gt;2 - Substituimos no solution.xml (solution id=&quot;GUID&quot; name=&quot;NOME_SOLUCAO&quot;)&lt;br /&gt;3 - Substituimos no manifest.xml (Solution SolutionId=&quot;GUID&quot;)&lt;br /&gt;&lt;br /&gt;Abraços,&lt;br /&gt;Leonardo Borille de Queiroz</content><link rel='replies' type='application/atom+xml' href='http://leonardomacanudo.blogspot.com/feeds/3721278776671054776/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/734767866321952435/3721278776671054776' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/3721278776671054776'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/734767866321952435/posts/default/3721278776671054776'/><link rel='alternate' type='text/html' href='http://leonardomacanudo.blogspot.com/2007/09/object-reference-not-set-to-instance-of_17.html' title='&quot;Object reference not set to an instance of object&quot; Solucionado!'/><author><name>Leonardo Macanudo</name><uri>http://www.blogger.com/profile/14298618071954196095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>