CORRECÇÃO: Recebe a exceção de NullReferenceException ao chamar a função String.IsNullOrEmpty em um aplicativo que se baseia no .NET Framework 2.0

Traduções deste artigo Traduções deste artigo
ID do artigo: 940900 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Neste artigo

Sintomas

Quando você chamar a função String.IsNullOrEmpty em um aplicativo que é criado no Microsoft .NET Framework 2.0, você recebe a exceção NullReferenceException. Esse problema ocorre se as seguintes condições forem verdadeiras:
  • Você chamar a função String.IsNullOrEmpty usando um parâmetro NULL, e você usar a função em um loop.
  • Você criar o aplicativo no modo de versão com as configurações de compilação padrão.

Causa

Esse problema ocorre devido a um problema no otimizações de compilador.

Resolução

Informações sobre o hotfix

Um hotfix com suporte foi disponibilizada pela Microsoft. No entanto, destina-se a corrigir o problema descrito neste artigo. Aplique-o somente aos sistemas que apresentarem esse problema específico. Esta correcção poderá submetida a testes adicionais. Portanto, se você não tiver sido gravemente afetado por esse problema, recomendamos que você aguarde o próximo service pack do .NET Framework 2.0 que contém esse hotfix.

Para resolver esse problema imediatamente, contate o Microsoft Customer Atendimento para obter o hotfix. Para obter uma lista completa de telefones do serviço de suporte a clientes da Microsoft e informações sobre os custos de suporte, visite o seguinte site:
http://support.microsoft.com/contactus/?ws=support
Observação Em alguns casos, as taxas cobradas pelas ligações para chamadas de suporte podem ser canceladas se um profissional de suporte da Microsoft determinar que uma atualização específica resolverá o problema. Os custos normais de suporte serão aplicados a questões e problemas que não se qualificam à atualização específica em questão de suporte adicionais.

Pré-requisitos

Você deve ter o .NET Framework 2.0 instalado para aplicar esse hotfix.

Requisitos de reinicialização

Não é necessário reiniciar o computador após aplicar esse hotfix.

Informações sobre a substituição do hotfix

Esse hotfix não substitui outros hotfixes.

Informações sobre o arquivo

A versão em inglês deste hotfix tem atributos de arquivo (ou atributos de arquivo posteriores) listados na tabela a seguir. As datas e horas desses arquivos estão listadas no horário de universal coordenado (UTC). Quando você exibe as informações do arquivo, ele é convertido para a hora local. Para encontrar a diferença entre o UTC e a hora local, use a guia fuso horário no item Data e hora no painel de controle.
O .NET Framework 2.0, versões com base em 86 x
Recolher esta tabelaExpandir esta tabela
Nome de arquivoVersão do arquivoTamanho do arquivoDataTempoPlataforma
Mscordacwks.dll2.0.50727.915802,30402 De agosto de 200703: 26x 86
Mscorjit.dll2.0.50727.915326,65602 De agosto de 200703: 26x 86
Mscorlib.dll2.0.50727.9154,308,99202 De agosto de 200703: 26x 86
Mscorpe.dll2.0.50727.915102,91202 De agosto de 200703: 26x 86
Mscorwks.dll2.0.50727.9155,634,56002 De agosto de 200703: 26x 86
Normalization.dll2.0.50727.91515.36002 De agosto de 200703: 26x 86
Normidna.nlpNão aplicável59,34202 De agosto de 200703: 26Não aplicável
Normnfc.nlpNão aplicável45,79402 De agosto de 200703: 26Não aplicável
Normnfd.nlpNão aplicável39,28402 De agosto de 200703: 26Não aplicável
Normnfkc.nlpNão aplicável66,38402 De agosto de 200703: 26Não aplicável
Normnfkd.nlpNão aplicável60,29402 De agosto de 200703: 26Não aplicável
Peverify.dll2.0.50727.915136,19202 De agosto de 200703: 26x 86
Sos.dll2.0.50727.915382,46402 De agosto de 200703: 26x 86
Vsavb7rt.dll8.0.50727.9151,330,68802 De agosto de 200703: 26x 86
O .NET Framework 2.0, versões com base em 64 x
Recolher esta tabelaExpandir esta tabela
Nome de arquivoVersão do arquivoTamanho do arquivoDataTempoPlataforma
Mscordacwks.dll2.0.50727.9151,597,44001 De agosto de 200719: 14x 64
Mscordacwks.dll2.0.50727.915802,30402 De agosto de 200703: 26x 86
Mscorjit.dll2.0.50727.9151,588,73601 De agosto de 200719: 12x 64
Mscorjit.dll2.0.50727.915326,65602 De agosto de 200703: 26x 86
Mscorlib.dll2.0.50727.9153,960,83201 De agosto de 200722: 29x 64
Mscorlib.dll2.0.50727.9154,308,99202 De agosto de 200703: 26x 86
Mscorpe.dll2.0.50727.915157,18401 De agosto de 200719: 07x 64
Mscorpe.dll2.0.50727.915102,91202 De agosto de 200703: 26x 86
Mscorpjt.dll2.0.50727.9152,005,50401 De agosto de 200719: 13x 64
Mscorwks.dll2.0.50727.91510,327,04001 De agosto de 200719: 11x 64
Mscorwks.dll2.0.50727.9155,634,56002 De agosto de 200703: 26x 86
Normalization.dll2.0.50727.91518,43201 De agosto de 200719: 11x 64
Normalization.dll2.0.50727.91515.36002 De agosto de 200703: 26x 86
Normidna.nlpNão aplicável59,34201 De agosto de 200719: 14Não aplicável
Normidna.nlpNão aplicável59,34202 De agosto de 200703: 26Não aplicável
Normnfc.nlpNão aplicável45,79401 De agosto de 200719: 14Não aplicável
Normnfc.nlpNão aplicável45,79402 De agosto de 200703: 26Não aplicável
Normnfd.nlpNão aplicável39,28401 De agosto de 200719: 14Não aplicável
Normnfd.nlpNão aplicável39,28402 De agosto de 200703: 26Não aplicável
Normnfkc.nlpNão aplicável66,38401 De agosto de 200719: 14Não aplicável
Normnfkc.nlpNão aplicável66,38402 De agosto de 200703: 26Não aplicável
Normnfkd.nlpNão aplicável60,29401 De agosto de 200719: 14Não aplicável
Normnfkd.nlpNão aplicável60,29402 De agosto de 200703: 26Não aplicável
Peverify.dll2.0.50727.915205,82401 De agosto de 200719: 13x 64
Peverify.dll2.0.50727.915136,19202 De agosto de 200703: 26x 86
Sos.dll2.0.50727.915480,76801 De agosto de 200719: 21x 64
Sos.dll2.0.50727.915382,46402 De agosto de 200703: 26x 86
Vsavb7rt.dll8.0.50727.9151,330,68802 De agosto de 200703: 26x 86
O .NET Framework 2.0, versões de arquitetura Itanium
Recolher esta tabelaExpandir esta tabela
Nome de arquivoVersão do arquivoTamanho do arquivoDataTempoPlataforma
Mscordacwks.dll2.0.50727.9152,719,23201 De agosto de 200719: 17IA64
Mscordacwks.dll2.0.50727.915802,30402 De agosto de 200703: 26x 86
Mscorjit.dll2.0.50727.9152,707,96801 De agosto de 200719: 16IA64
Mscorjit.dll2.0.50727.915326,65602 De agosto de 200703: 26x 86
Mscorlib.dll2.0.50727.9153,960,83201 De agosto de 200723: 24IA64
Mscorlib.dll2.0.50727.9154,308,99202 De agosto de 200703: 26x 86
Mscorpe.dll2.0.50727.915313,85601 De agosto de 200719: 08IA64
Mscorpe.dll2.0.50727.915102,91202 De agosto de 200703: 26x 86
Mscorpjt.dll2.0.50727.9153,502,08001 De agosto de 200719: 16IA64
Mscorwks.dll2.0.50727.91521,288,44801 De agosto de 200719: 14IA64
Mscorwks.dll2.0.50727.9155,634,56002 De agosto de 200703: 26x 86
Normalization.dll2.0.50727.91544,03201 De agosto de 200719: 14IA64
Normalization.dll2.0.50727.91515.36002 De agosto de 200703: 26x 86
Normidna.nlpNão aplicável59,34201 De agosto de 200719: 17Não aplicável
Normidna.nlpNão aplicável59,34202 De agosto de 200703: 26Não aplicável
Normnfc.nlpNão aplicável45,79401 De agosto de 200719: 17Não aplicável
Normnfc.nlpNão aplicável45,79402 De agosto de 200703: 26Não aplicável
Normnfd.nlpNão aplicável39,28401 De agosto de 200719: 17Não aplicável
Normnfd.nlpNão aplicável39,28402 De agosto de 200703: 26Não aplicável
Normnfkc.nlpNão aplicável66,38401 De agosto de 200719: 17Não aplicável
Normnfkc.nlpNão aplicável66,38402 De agosto de 200703: 26Não aplicável
Normnfkd.nlpNão aplicável60,29401 De agosto de 200719: 17Não aplicável
Normnfkd.nlpNão aplicável60,29402 De agosto de 200703: 26Não aplicável
Peverify.dll2.0.50727.915383,48801 De agosto de 200719: 16IA64
Peverify.dll2.0.50727.915136,19202 De agosto de 200703: 26x 86
Sos.dll2.0.50727.915862,72001 De agosto de 200719: 26IA64
Sos.dll2.0.50727.915382,46402 De agosto de 200703: 26x 86
Vsavb7rt.dll8.0.50727.9151,330,68802 De agosto de 200703: 26x 86

Como Contornar

Para contornar este problema, use um dos seguintes métodos:
  • No Visual studio 2005, clique o projeto em Solution Explorer com o botão direito do mouse, clique em Propriedades na guia Build e clique para desmarcar a caixa de seleção otimizar código .
  • Substituir todas as chamadas para a função IsNullOrEmpty dentro de um loop com o seguinte:
    SomeString == NULL || string.IsNullOrEmpty(SomeString)

Situação

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

Mais Informações

Para obter mais informações, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
824684Descrição da terminologia padrão que é usada para descrever as atualizações de software

Propriedades

ID do artigo: 940900 - Última revisão: segunda-feira, 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 traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes 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