CORRECÇÃO: Uma excepção não é accionada ao emissor gerido quando implementar um empacotador de referências personalizado numa aplicação do .NET Framework 2.0

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

Sintomas

Quando implementar um empacotador de referências personalizado no Microsoft .NET Framework 2.0 aplicação, uma excepção não é aumentada para o emissor gerido. A excepção deve ser accionada no método ICustomMarshaler.CleanUpNativeData para indicar um erro no código nativo.

Resolução

Agora é disponibilizada pela Microsoft uma correcção suportada, mas destina-se apenas 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 Microsoft .NET Framework 2.0 que contenha esta correcção.

Para resolver este problema imediatamente, contacte o serviço de suporte técnico da Microsoft para obter a correcção. Para obter uma lista completa de números de telefone do 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.
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.

Microsoft .NET framework 2.0, sistemas de 32 bits

Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempoPlataforma
Mscordacwks.dll2.0.50727.166801,28013 De Junho de 200613: 03x 86
Mscorlib.dll2.0.50727.1664,317,18413 De Junho de 200613: 03x 86
Mscorwks.dll2.0.50727.1665,623,80813 De Junho de 200613: 03x 86
Normalization.dll2.0.50727.16615,36013 De Junho de 200613: 03x 86
Normidna.nlpNão aplicável59,34213 De Junho de 200613: 03Não aplicável
Normnfc.nlpNão aplicável45,79413 De Junho de 200613: 03Não aplicável
Normnfd.nlpNão aplicável39,28413 De Junho de 200613: 03Não aplicável
Normnfkc.nlpNão aplicável66,38413 De Junho de 200613: 03Não aplicável
Normnfkd.nlpNão aplicável60,29413 De Junho de 200613: 03Não aplicável
Sos.dll2.0.50727.166377,34413 De Junho de 200613: 03x 86

Microsoft .NET framework 2.0, sistemas de 64 bits

Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempoPlataforma
Mscordacwks.dll2.0.50727.1661,597,44013 De Junho de 200604: 09x 64
Mscorlib.dll2.0.50727.1663,956,73613 De Junho de 200609: 17x 64
Mscorwks.dll2.0.50727.16610,300,92813 De Junho de 200604: 06x 64
Normalization.dll2.0.50727.16618,43213 De Junho de 200604: 06x 64
Normidna.nlpNão aplicável59,34213 De Junho de 200604: 09Não aplicável
Normnfc.nlpNão aplicável45,79413 De Junho de 200604: 09Não aplicável
Normnfd.nlpNão aplicável39,28413 De Junho de 200604: 09Não aplicável
Normnfkc.nlpNão aplicável66,38413 De Junho de 200604: 09Não aplicável
Normnfkd.nlpNão aplicável60,29413 De Junho de 200604: 09Não aplicável
Sos.dll2.0.50727.166476,16013 De Junho de 200604: 16x 64

Microsoft .NET framework 2.0, sistemas baseados em itanium

Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempoPlataforma
Mscordacwks.dll2.0.50727.1662,710,52813 De Junho de 200604: 14IA-64
Mscorlib.dll2.0.50727.1663,956,73613 De Junho de 200610: 01IA-64
Mscorwks.dll2.0.50727.16621,258,75213 De Junho de 200604: 11IA-64
Normalization.dll2.0.50727.16644,03213 De Junho de 200604: 11IA-64
Normidna.nlpNão aplicável59,34213 De Junho de 200604: 14Não aplicável
Normnfc.nlpNão aplicável45,79413 De Junho de 200604: 14Não aplicável
Normnfd.nlpNão aplicável39,28413 De Junho de 200604: 14Não aplicável
Normnfkc.nlpNão aplicável66,38413 De Junho de 200604: 14Não aplicável
Normnfkd.nlpNão aplicável60,29413 De Junho de 200604: 14Não aplicável
Sos.dll2.0.50727.166857,08813 De Junho de 200604: 22IA-64

Como contornar

Para contornar este problema, defina o atributo in/out ao parâmetro efectuará empacotamento de referências personalizados no. Depois de definir o parâmetro in/out , chame o método MarshalNativeToManaged depois é chamado o método nativo. A chamada de empacotamento de referências personalizada deve assemelhar-se o seguinte:
static extern void TestMethod(int outputKind, [In, Out, MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(CustomMarshaler))]object data);
Nota num computador com uma versão de 64 bits do Microsoft Windows, pode contornar este problema utilizando apenas esta solução alternativa. No entanto, num computador com uma versão de 32 bits do Windows, tem de aplicar o pacote de correcções antes de utilizar esta solução alternativa.

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
Para obter mais informações, visite os seguintes Web sites da Microsoft Developer Network (MSDN):
http://windowssdk.msdn.microsoft.com/en-us/library/system.runtime.interopservices.icustommarshaler.marshalnativetomanaged.aspx

http://msdn2.microsoft.com/en-us/library/system.runtime.interopservices.icustommarshaler.cleanupnativedata.aspx

Propriedades

Artigo: 917868 - Última revisão: 3 de dezembro de 2007 - Revisão: 1.3
A informação contida neste artigo aplica-se a:
  • Microsoft .NET Framework 2.0
Palavras-chave: 
kbmt kbfix kbbug kbhotfixserver kbqfe kbpubtypekc KB917868 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: 917868

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