CORRECÇÃO: O compilador não chama um construtor cópia substituído no Visual C++ .NET 2003

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

Sintomas

Porta de uma aplicação do Microsoft Visual C++ nativa existente para o Microsoft Visual Studio .NET 2003 e utilizar o / clr mudar quando compilar a aplicação. Quando executa a aplicação, poderá notar que o estado de uma classe ou de uma estrutura não é consistente.

Causa

Este problema ocorre porque o Construtor de cópia substituído não será invocado quando uma classe __nogc ou uma estrutura __nogc é transmitida por valor através de um limite de módulo. Por exemplo, este problema ocorre quando a classe ou a estrutura é transmitida a partir de um ficheiro .exe para um ficheiro .dll ou de um ficheiro de .dll para outro ficheiro .dll.

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 Visual Studio .NET 2003 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 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 posteriores) listados na seguinte tabela. As datas e horas destes ficheiros são indicadas no formato de universal hora (UTC) coordenada Coordinated. 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 na ferramenta Data e hora no painel de controlo.
   Date         Time   Version       Size       File name
   ------------------------------------------------------
   30-Apr-2004  17:40  13.10.4121.0    937,984  C1.dll
   30-Apr-2004  17:40  13.10.4121.0  2,211,840  C1xx.dll
   01-May-2004  00:34  13.10.4121.0  1,966,080  Feacp.dll
   30-Apr-2004  17:47                    5,342  Feacp.lib

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

Depois de instalar esta correcção, tem de adicionar o / OPT: NOREF linker mudar para os projectos em que uma classe __nogc ou uma estrutura __nogc é transmitida por valor.

Para obter informações adicionais, 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: 841629 - Última revisão: 15 de maio de 2006 - Revisão: 2.0
A informação contida neste artigo aplica-se a:
  • Microsoft Visual C++ .NET 2003 Standard Edition
Palavras-chave: 
kbmt kbqfe kbfix kbbug kbhotfixserver KB841629 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: 841629

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