CORRECÇÃO: Recebe a excepção NullReferenceException quando chamar a função de String.IsNullOrEmpty numa aplicação criada no .NET Framework 2.0

Traduções de Artigos Traduções de Artigos
Artigo: 940900 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

Sintomas

Quando chamar a função de String.IsNullOrEmpty numa aplicação criada no Microsoft .NET Framework 2.0, recebe a excepção NullReferenceException. Este problema ocorre caso se verifiquem as seguintes condições:
  • Chamar a função de String.IsNullOrEmpty utilizando um parâmetro NULL e utilize a função num ciclo.
  • Compilar a aplicação no modo de edição com as predefinições de compilação.

Causa

Este problema ocorre devido a um problema do compilador optimizações.

Resolução

Informações sobre a correcção

Uma correcção suportada está agora disponível da Microsoft. Contudo, destina-se a corrigir o problema descrito neste artigo. Aplique-a apenas em sistemas que tenham este problema específico. Esta correcção poderá submetida a testes adicionais. Por conseguinte, se não estiver a ser gravemente afectado por este problema, recomendamos que aguarde pelo próximo service pack do .NET Framework 2.0 que contenha esta correcção.

Para resolver este problema imediatamente, contacte o suporte técnico da Microsoft para obter a correcção. Para obter uma lista completa dos números de telefone de suporte técnico da Microsoft e informações sobre os custos de suporte, visite o seguinte Web site da Microsoft:
http://support.microsoft.com/contactus/?ws=support
Nota Em casos especiais, os custos normalmente inerentes às chamadas de suporte poderão ser anulados, se um técnico de suporte da Microsoft determinar que uma actualização específica resolverá o problema. Os custos normais do suporte serão aplicados a problemas adicionais e questões de suporte que não se enquadrem na atualização específica em questão.

Pré-requisitos

Tem de ter o .NET Framework 2.0 instalado para aplicar esta correcção.

Requisito de reinício

Não é necessário reiniciar o computador depois de aplicar esta correcção.

Informações sobre substituição de correcções

Esta correcção não substitui quaisquer outras correcções.

Informações do ficheiro

A versão inglesa desta correcção tem os atributos de ficheiro (ou atributos de ficheiro posteriores) listados na seguinte tabela. As datas e horas destes ficheiros são indicadas na hora universal coordenada (UTC). Quando visualiza as informações do ficheiro, é convertido para a hora local. Para determinar a diferença entre a UTC e a hora local, utilize o separador fuso horário no item data e hora no painel de controlo.
O .NET Framework 2.0, x 86 versões
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempoPlataforma
Mscordacwks.dll2.0.50727.915802,30402-Agosto de 200703: 26x 86
Mscorjit.dll2.0.50727.915326,65602-Agosto de 200703: 26x 86
Mscorlib.dll2.0.50727.9154,308,99202-Agosto de 200703: 26x 86
Mscorpe.dll2.0.50727.915102,91202-Agosto de 200703: 26x 86
Mscorwks.dll2.0.50727.9155,634,56002-Agosto de 200703: 26x 86
Normalization.dll2.0.50727.91515,36002-Agosto de 200703: 26x 86
Normidna.nlpNão aplicável59,34202-Agosto de 200703: 26Não aplicável
Normnfc.nlpNão aplicável45,79402-Agosto de 200703: 26Não aplicável
Normnfd.nlpNão aplicável39,28402-Agosto de 200703: 26Não aplicável
Normnfkc.nlpNão aplicável66,38402-Agosto de 200703: 26Não aplicável
Normnfkd.nlpNão aplicável60,29402-Agosto de 200703: 26Não aplicável
Peverify.dll2.0.50727.915136,19202-Agosto de 200703: 26x 86
Sos.dll2.0.50727.915382,46402-Agosto de 200703: 26x 86
Vsavb7rt.dll8.0.50727.9151,330,68802-Agosto de 200703: 26x 86
O .NET Framework 2.0, versões baseadas em 64 x
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempoPlataforma
Mscordacwks.dll2.0.50727.9151,597,44001-Agosto de 200719: 14x 64
Mscordacwks.dll2.0.50727.915802,30402-Agosto de 200703: 26x 86
Mscorjit.dll2.0.50727.9151,588,73601-Agosto de 200719: 12x 64
Mscorjit.dll2.0.50727.915326,65602-Agosto de 200703: 26x 86
Mscorlib.dll2.0.50727.9153,960,83201-Agosto de 200722: 29x 64
Mscorlib.dll2.0.50727.9154,308,99202-Agosto de 200703: 26x 86
Mscorpe.dll2.0.50727.915157,18401-Agosto de 200719: 07x 64
Mscorpe.dll2.0.50727.915102,91202-Agosto de 200703: 26x 86
Mscorpjt.dll2.0.50727.9152,005,50401-Agosto de 200719: 13x 64
Mscorwks.dll2.0.50727.91510,327,04001-Agosto de 200719: 11x 64
Mscorwks.dll2.0.50727.9155,634,56002-Agosto de 200703: 26x 86
Normalization.dll2.0.50727.91518,43201-Agosto de 200719: 11x 64
Normalization.dll2.0.50727.91515,36002-Agosto de 200703: 26x 86
Normidna.nlpNão aplicável59,34201-Agosto de 200719: 14Não aplicável
Normidna.nlpNão aplicável59,34202-Agosto de 200703: 26Não aplicável
Normnfc.nlpNão aplicável45,79401-Agosto de 200719: 14Não aplicável
Normnfc.nlpNão aplicável45,79402-Agosto de 200703: 26Não aplicável
Normnfd.nlpNão aplicável39,28401-Agosto de 200719: 14Não aplicável
Normnfd.nlpNão aplicável39,28402-Agosto de 200703: 26Não aplicável
Normnfkc.nlpNão aplicável66,38401-Agosto de 200719: 14Não aplicável
Normnfkc.nlpNão aplicável66,38402-Agosto de 200703: 26Não aplicável
Normnfkd.nlpNão aplicável60,29401-Agosto de 200719: 14Não aplicável
Normnfkd.nlpNão aplicável60,29402-Agosto de 200703: 26Não aplicável
Peverify.dll2.0.50727.915205,82401-Agosto de 200719: 13x 64
Peverify.dll2.0.50727.915136,19202-Agosto de 200703: 26x 86
Sos.dll2.0.50727.915480,76801-Agosto de 200719: 21x 64
Sos.dll2.0.50727.915382,46402-Agosto de 200703: 26x 86
Vsavb7rt.dll8.0.50727.9151,330,68802-Agosto de 200703: 26x 86
O .NET Framework 2.0, versões de arquitectura Itanium
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempoPlataforma
Mscordacwks.dll2.0.50727.9152,719,23201-Agosto de 200719: 17ia64
Mscordacwks.dll2.0.50727.915802,30402-Agosto de 200703: 26x 86
Mscorjit.dll2.0.50727.9152,707,96801-Agosto de 200719: 16ia64
Mscorjit.dll2.0.50727.915326,65602-Agosto de 200703: 26x 86
Mscorlib.dll2.0.50727.9153,960,83201-Agosto de 200723: 24ia64
Mscorlib.dll2.0.50727.9154,308,99202-Agosto de 200703: 26x 86
Mscorpe.dll2.0.50727.915313,85601-Agosto de 200719: 08ia64
Mscorpe.dll2.0.50727.915102,91202-Agosto de 200703: 26x 86
Mscorpjt.dll2.0.50727.9153,502,08001-Agosto de 200719: 16ia64
Mscorwks.dll2.0.50727.91521,288,44801-Agosto de 200719: 14ia64
Mscorwks.dll2.0.50727.9155,634,56002-Agosto de 200703: 26x 86
Normalization.dll2.0.50727.91544,03201-Agosto de 200719: 14ia64
Normalization.dll2.0.50727.91515,36002-Agosto de 200703: 26x 86
Normidna.nlpNão aplicável59,34201-Agosto de 200719: 17Não aplicável
Normidna.nlpNão aplicável59,34202-Agosto de 200703: 26Não aplicável
Normnfc.nlpNão aplicável45,79401-Agosto de 200719: 17Não aplicável
Normnfc.nlpNão aplicável45,79402-Agosto de 200703: 26Não aplicável
Normnfd.nlpNão aplicável39,28401-Agosto de 200719: 17Não aplicável
Normnfd.nlpNão aplicável39,28402-Agosto de 200703: 26Não aplicável
Normnfkc.nlpNão aplicável66,38401-Agosto de 200719: 17Não aplicável
Normnfkc.nlpNão aplicável66,38402-Agosto de 200703: 26Não aplicável
Normnfkd.nlpNão aplicável60,29401-Agosto de 200719: 17Não aplicável
Normnfkd.nlpNão aplicável60,29402-Agosto de 200703: 26Não aplicável
Peverify.dll2.0.50727.915383,48801-Agosto de 200719: 16ia64
Peverify.dll2.0.50727.915136,19202-Agosto de 200703: 26x 86
Sos.dll2.0.50727.915862,72001-Agosto de 200719: 26ia64
Sos.dll2.0.50727.915382,46402-Agosto de 200703: 26x 86
Vsavb7rt.dll8.0.50727.9151,330,68802-Agosto de 200703: 26x 86

Como contornar

Para contornar este problema, utilize um dos seguintes métodos:
  • No Visual studio 2005, clique com o botão direito do rato no projecto no Solution Explorer , clique em Propriedades no separador criar e, em seguida, clique para desmarcar a caixa de verificação optimizar código .
  • Substitua todas as chamadas à função IsNullOrEmpty dentro de um ciclo o seguinte:
    SomeString == NULL || string.IsNullOrEmpty(SomeString)

Ponto Da Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na secção "Aplica-se a".

Mais Informação

Para obter mais informações, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
824684Descrição da terminologia padrão utilizada para descrever actualizações de software da Microsoft

Propriedades

Artigo: 940900 - Última revisão: 3 de setembro de 2007 - Revisão: 1.0
A informação contida neste artigo aplica-se a:
  • Microsoft .NET Framework 2.0
Palavras-chave: 
kbmt kbexpertiseadvanced kbfix kbpubtypekc kbqfe kbhotfixserver KB940900 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 940900

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com