Could not load the Web.config configuration file. Check the file for any malformed XML elements, and try again. The following error occurred: The given key was not present in the dictionary.
Se o seu arquivo de configuração está bem-formado, possivelmente a causa deste erro é a URL usada pelo seu site nos Mapeamentos Alternativos de Acesso (Alternate Access Mappings). A propriedade Site Url do seu projeto no Visual Studio precisa ter o mesmo valor da URL pública do site. Confira em Central Administration > Configure alternate access mappings > Edit public URLs.
// por Diego von Söhsten, MCT-MCPD-MCITP-MCTS em SharePoint. diego@sharepointhelp.com.br
Mostrando postagens com marcador erros. Mostrar todas as postagens
Mostrando postagens com marcador erros. Mostrar todas as postagens
segunda-feira, 25 de junho de 2012
Ao atualizar programaticamente uma coleção: "Collection was modified; enumeration operation may not execute"
Ao tentar atualizar uma informação diretamente em uma coleção de dados, você pode encontrar este erro, como no caso abaixo:
foreach (SPListItem item in lista.Items){Ao invés disto, salve o identificador dos ListItems que você deseja modificar em um objeto à parte (pode ser uma lista genérica, por exemplo), e acesse diretamente este item depois através do identificador, não modificando em uma coleção.
item["coluna"] = "Novo titulo";
item.Update();
}
SPListItem item = list.GetItemById(idItem);
item["coluna"] = "Novo titulo";
item.Update();
Ao rodar o psconfig (Products Configuration Wizard), e informar o servidor de banco, o erro: SQL Server at [nome do servidor] has an unsupported version".
Verifique a versão do SQL Server mínima necessária:
SQL Server 2008 Express Edition Service Pack 1, version number 10.0.2531;
SQL Server 2005 Service Pack 3 cumulative update package 3, version number 9.00.4220.00;
SQL Server 2008 Service Pack 1 cumulative update package 2, version number 10.00.2714.00.
É importante lembrar que o SP1 do SQL Server é necessário no caso do SQL Express. Em uma versão paga (Professional ou superior), é necessário também instalar o Cumulative Update 2 do SP1.
SQL Server 2008 Express Edition Service Pack 1, version number 10.0.2531;
SQL Server 2005 Service Pack 3 cumulative update package 3, version number 9.00.4220.00;
SQL Server 2008 Service Pack 1 cumulative update package 2, version number 10.00.2714.00.
É importante lembrar que o SP1 do SQL Server é necessário no caso do SQL Express. Em uma versão paga (Professional ou superior), é necessário também instalar o Cumulative Update 2 do SP1.
Usando o Windows Server: "Your client does not support opening this list with Windows Explorer"
Habilite o recurso (feature) do Windows Server "Desktop Experience", no Server Manager, e então habilite o serviço do Windows (em services.msc) "WebClient".
Ao adicionar base de conteúdo: "This content database has a schema version which is not supported in this farm."
Instale os Cumulative Updates do SharePoint no servidor em que você está importando as bases, até que a versão do SharePoint no mesmo seja exatamente igual à do servidor original, cuja farm continha as bases.
Erro ao abrir arquivo do Excel no SharePoint: "No momento, a pasta de trabalho está aberta por 256 usuários, sendo que esse é o número máximo de usuários que podem ter uma pasta de trabalho compartilhada".
O arquivo que você tenta abrir está, de alguma forma, corrompido - a menos que realmente esteja sendo aberto por 256 usuários, obviamente. Se não for o caso, salve uma cópia do arquivo no SharePoint, usando o Excel e a opção "Salvar como". Ignore o aviso de "arquivo somente leitura". Verifique que o novo está habilitado para edição e apague o antigo. Resolvido!
Ao iniciar um serviço do SharePoint: "The service cannot accept control messages at this time".
Esta é uma pequena falha na comunicação entre o controle que você utilizou para mudar o estado do serviço, e o serviço propriamente dito. Aguarde alguns minutos e tente iniciar o serviço novamente.
Ao adicionar um banco de dados de conteúdo: "A SPContentDatabase Name=(nome) Parent=SPDatabaseServiceInstance especificada foi atualizada para uma versão mais recente do SharePoint".
A versão do SharePoint na máquina onde você tenta adicionar o banco é mais antiga que a versão na máquina anterior. Atualize o SharePoint para a mesma versão.
This solution contains two assemblies with the same name, or the SharePoint server already has an assembly with the specified name.
Simples.
1) Desinstale o assembly da solução do Global Assembly Cache (drive\WINDOWS\assembly).
2) Delete a pasta da feature na SharePoint Root (drive\Program Files\Common Files\Microsoft Shared\web server extensions\TEMPLATE\FEATURE\nome).
1) Desinstale o assembly da solução do Global Assembly Cache (drive\WINDOWS\assembly).
2) Delete a pasta da feature na SharePoint Root (drive\Program Files\Common Files\Microsoft Shared\web server extensions\TEMPLATE\FEATURE\nome).
Root element is missing.
"Root element is missing"? A parte que eu mais gosto do SharePoint é quando ele retorna esses erros esquisitos, sem muitos detalhes...
Este erro é retornado quando um arquivo de alguma pasta dentro de Templates, na famosa "SharePoint Root" (C:\Arquivos de programas\Arquivos comuns\Microsoft Shared\web server extensions\12\TEMPLATE\), estiver faltando. Resumo: um arquivo que já é instalado com o SharePoint está faltando.
Se o erro é retornado ao criar um site, está faltando um template na pasta SiteTemplates. Se o erro é retornado ao criar uma biblioteca, verifique os .xml na pasta XML. Ambas as pastas estão em TEMPLATE.
Como saber o arquivo que está faltando? Bom, aí já é com você, que vai ter que verificar um a um.
Este erro é retornado quando um arquivo de alguma pasta dentro de Templates, na famosa "SharePoint Root" (C:\Arquivos de programas\Arquivos comuns\Microsoft Shared\web server extensions\12\TEMPLATE\), estiver faltando. Resumo: um arquivo que já é instalado com o SharePoint está faltando.
Se o erro é retornado ao criar um site, está faltando um template na pasta SiteTemplates. Se o erro é retornado ao criar uma biblioteca, verifique os .xml na pasta XML. Ambas as pastas estão em TEMPLATE.
Como saber o arquivo que está faltando? Bom, aí já é com você, que vai ter que verificar um a um.
(nome do método) does not contain a definition on (página) at System.Web.Compilation.AssemblyBuilder.Compile()
Esses bugs do WSS 3/MOSS 2007... Você cria um código enorme, em tempo de execução aparece isso e você não sabe nem por onde começar.
Usei uma Application Page (página de aplicação) .aspx para hospedar um formulário para o SharePoint 2007 (sabe como é, o InfoPath 2007 não chega aos pés do 2010 em questão de compatibilidade). Deploy feito. Na hora de visualizar no portal, o nosso querido "Unknown Error" (erro desconhecido). Fui no web.config da pasta da aplicação no IIS, mudei o CustomErrors para "off" e o CallStack para "true" e aí tive um susto.
Um dos métodos do code-behind da página estava acusando este erro (does not contain a definition (...) at System.Web.Compilation.AssemblyBuilder.Compile()), mas este método realmente existia, se encontrava no namespace da página. Conferi todo o cabeçalho dela e tudo estava ok. Aí então eu fui olhar linha por linha deste método e encontrei um erro bobo de sintaxe. Detalhe, esse erro passou pelo compilador (fiz inclusive o deploy pelo SPVisualDev) e em tempo de execução o usuário nunca ia imaginar que o problema seria esse.
Basicamente, a solução é essa. Viu um erro do tipo, que não há uma definição de um método que você implementou, conferiu todo o cabeçalho da página e tá tudo certo? Verifique o método linha por linha. Usar soluções de terceiros para fazer deploy pode resultar nisso. E lembre: quem usa SharePoint está sempre sujeito a essas situações. rs
Usei uma Application Page (página de aplicação) .aspx para hospedar um formulário para o SharePoint 2007 (sabe como é, o InfoPath 2007 não chega aos pés do 2010 em questão de compatibilidade). Deploy feito. Na hora de visualizar no portal, o nosso querido "Unknown Error" (erro desconhecido). Fui no web.config da pasta da aplicação no IIS, mudei o CustomErrors para "off" e o CallStack para "true" e aí tive um susto.
Um dos métodos do code-behind da página estava acusando este erro (does not contain a definition (...) at System.Web.Compilation.AssemblyBuilder.Compile()), mas este método realmente existia, se encontrava no namespace da página. Conferi todo o cabeçalho dela e tudo estava ok. Aí então eu fui olhar linha por linha deste método e encontrei um erro bobo de sintaxe. Detalhe, esse erro passou pelo compilador (fiz inclusive o deploy pelo SPVisualDev) e em tempo de execução o usuário nunca ia imaginar que o problema seria esse.
Basicamente, a solução é essa. Viu um erro do tipo, que não há uma definição de um método que você implementou, conferiu todo o cabeçalho da página e tá tudo certo? Verifique o método linha por linha. Usar soluções de terceiros para fazer deploy pode resultar nisso. E lembre: quem usa SharePoint está sempre sujeito a essas situações. rs
"Updating the site columns failed" ao tentar publicar um formulário do InfoPath 2007 em um Content Type
Você fez tudo certo pra publicar um formulário em um Content Type através do InfoPath 2007, mas, na hora de publicar, aparece o erro "Updating the site columns failed". Como solucionar?
Simples: reinicie o servidor de front-end em que você está tentando criar o Content Type juntamente com o formulário. Este é um bug do SharePoint 2007 / InfoPath 2007, que foi solucionado na versão 2010 do SP, que agora conta com suporte nativo - leia-se, sem gambiarras orientadas a gambiarras (GOGs) - ao InfoPath.
Simples: reinicie o servidor de front-end em que você está tentando criar o Content Type juntamente com o formulário. Este é um bug do SharePoint 2007 / InfoPath 2007, que foi solucionado na versão 2010 do SP, que agora conta com suporte nativo - leia-se, sem gambiarras orientadas a gambiarras (GOGs) - ao InfoPath.
Your changes conflict with those made concurrently by another user. If you want your changes to be applied, click Back in your Web browser, refresh the page, and resubmit your changes.
Provavelmente, você está usando um fluxo de trabalho com algum evento que é disparado quando um item é atualizado. Vou explicar o que acontece: você coloca novos valores no item, e quando o mesmo é atualizado pelo sistema, o fluxo é disparado novamente, com os mesmos valores que você colocou, que é atualizado e o fluxo é chamado mais uma vez - e por aí vai. Vários processos de atualização concorrem ao mesmo tempo e isto só acaba quando o primeiro processo é terminado - ou seja, o item é atualizado pela primeira vez, o que pode demorar bastante, dependendo do seu ambiente. Tente não usar o debugging nesta situação - caso contrário, depurar seu código será uma experiência bastante "insana", no mínimo.
Caso esteja usando o SharePoint Designer, coloque algumas ações no passo em questão do fluxo: primeiro, o "Set field in current item". Depois, o "Wait for field change in current item" e então o "Stop Workflow". Assim, você garante que os processos concorrentes não vão tentar atualizar o item. Caso você esteja usando código, coloque algo parecido.
Caso esteja usando o SharePoint Designer, coloque algumas ações no passo em questão do fluxo: primeiro, o "Set field in current item". Depois, o "Wait for field change in current item" e então o "Stop Workflow". Assim, você garante que os processos concorrentes não vão tentar atualizar o item. Caso você esteja usando código, coloque algo parecido.
0x80020005
Esse erro, aparentemente "indecifrável", é bastante simples de resolver. Claro que para eu descobrir e contar a você não foi algo muito rápido... Mas enfim: este erro é, basicamente, uma indicação de que você está tentando atualizar ou inserir um valor em um campo de outro tipo em uma lista.
Exemplo: você tem uma lista onde um campo é do tipo Person/Group. Via código, você tenta inserir neste campo um string, com apenas o nome do usuário ou do grupo. Vai dar erro. Isso porque o campo Person/Group é um campo Lookup: id;#valor. Ou seja: se você está inserindo o nome de um usuário, precisa colocar o id dele no site, seguido por ponto-e-vírgula, jogo da velha e então o valor. Exemplo: 7;#Fulano. Neste caso, adicione, através do código, o ID dele junto com ";#" ao nome. Como fazer isso? Crie um objeto do tipo SPFieldValueLookup, passando por parâmetro o ID dele (use algo do tipo "usuario.Id") e o nome. Cuidado com os campos Lookup: eles não são simples campos de texto.
Exemplo: você tem uma lista onde um campo é do tipo Person/Group. Via código, você tenta inserir neste campo um string, com apenas o nome do usuário ou do grupo. Vai dar erro. Isso porque o campo Person/Group é um campo Lookup: id;#valor. Ou seja: se você está inserindo o nome de um usuário, precisa colocar o id dele no site, seguido por ponto-e-vírgula, jogo da velha e então o valor. Exemplo: 7;#Fulano. Neste caso, adicione, através do código, o ID dele junto com ";#" ao nome. Como fazer isso? Crie um objeto do tipo SPFieldValueLookup, passando por parâmetro o ID dele (use algo do tipo "usuario.Id") e o nome. Cuidado com os campos Lookup: eles não são simples campos de texto.
Error occurred in deployment step 'Activate Features': This functionality is unavailable for fields not associated with a list.
Solução: Você modificou alguma propriedade, como a visibilidade de um campo (alterando atributos como ShowInNewForm), diretamente no Content Type? Esta não é a forma correta, você precisa modificar a propriedade desejada do campo diretamente na lista, sem acessar programaticamente o Content Type. Esqueça o lista.ContentTypes["nomeCT"].Fields["campo"].propriedade e use logo o lista.Fields["campo"].propriedade.
Error occurred in deployment step 'Activate Features': Invalid data has been used to update the list item. The field you are trying to update may be read only.
Solução: Certifique-se de que os valores atribuídos a cada campo possuem o mesmo tipo de cada um no portal no SharePoint. Por exemplo, se o tipo de uma coluna é People and Groups, certifique-se de que você está atribuindo algo do tipo SPUser ou SPGroup, por exemplo.
Cannot connect to the configuration database.
Solução: Por algum motivo (inclua nisso alguma atualização do Windows Update), o serviço do SQL Server foi interrompido. Execute services.msc e inicie o serviço do SQL Server. Você iniciou, mas o problema continua? Aguarde alguns instantes e você vai voltar a se conectar ao SharePoint normalmente.
Error occurred in deployment step '[etapa aqui]: A timeout has occurred while invoking commands in SharePoint host process.
Solução: A memória RAM está sendo muito usada. Feche alguns programas e tente novamente.
Mudei o nome do WSP e ele dá o erro "could not find assembly (nome)".
Solução: mude o nome apenas no Package.package (pode ser no modo design, mesmo) e reinicie o Visual Studio.
Assinar:
Postagens (Atom)