Sintomas
Tem uma aplicação que chama o método de GetOptionalCustomModifiers ou GetRequiredCustomModifiers no objecto de uma interface genérico ParameterInfo . Quando executar esta aplicação num computador que tenha o Microsoft .NET Framework 3.5 Service Pack 1 (SP1) instalado, é iniciada uma excepção e recebe uma mensagem de erro semelhante à seguinte:
Ocorreu uma excepção não processada do tipo 'System. ExecutionEngineException' na Mscorlib. dll
Além disso, o evento ID 1023 é registado no registo de aplicações. Este evento é semelhante à seguinte: evento ID 1000 também poderão ser registados no registo de aplicações. Este evento é semelhante ao seguinte:
Causa
Este problema ocorre devido a um problema no .NET Framework 3.5 SP1.
Resolução
Informações sobre correção
Existe uma correção suportada pela Microsoft. No entanto, esta correção destina-se apenas a corrigir o problema descrito neste artigo. Aplique esta correcção apenas em sistemas que tenham este problema específico. Esta correcção poderá ser submetida a testes adicionais. Por conseguinte, se não estiver a ser gravemente afetado por este problema, recomendamos que aguarde pela próxima atualização de software que contenha esta correção.
Para transferir esta correcção a partir da Galeria de códigos MSDN, visite o seguinte Web site da Microsoft:
http://code.msdn.microsoft.com/KB957541
Nota Galeria de códigos MSDN apresenta os idiomas nos quais a correcção está disponível. Se não vir o idioma listado, é porque a página de recursos da Galeria de códigos não está disponível para esse idioma.
Nota Caso ocorram problemas adicionais ou se for necessária a resolução de problemas, poderá ter de criar um pedido de assistência separado. Os custos de normais do suporte serão aplicados a questões de suporte adicional e problemas incluídos nesta correção específica. Para uma lista completa dos números de telefone de suporte e serviço de cliente da Microsoft ou para criar um pedido de assistência separado, visite o seguinte Web site da Microsoft:
http://support.microsoft.com/contactus/?ws=supportNota Se tem de ter esta correcção para Windows Server 2008 ou Windows Vista Service Pack 1, em vez disso, de obter a correcção 957542. 957542 de correcções resolve este problema e está disponível para esses sistemas operativos. Para mais informações, clique no número de artigo seguinte para visualizar o artigo na Microsoft Knowledge Base:
CORRIGIR 957542 : num computador que esteja a executar o .NET Framework 3.5 Service Pack 1, o compilador JIT e o gerador de imagem (Ngen.exe) nativo que utilizam o ficheiro de Mscorjit.dll, podem gerar código incorrecto
Pré-requisitos
Tem de ter o .NET Framework 3.5 SP1 instalado para aplicar esta correcção.
Requisito de reinício
Poderá ter de reiniciar o computador se algum dos ficheiros que estão actualizados estão a ser utilizados.
Informações sobre substituição da correção
Esta correcção não substitui quaisquer outras correcções.
Informações de 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 listadas 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.
Windows 2000, Windows XP e Windows Server 2003, x86 versões
Nome do ficheiro |
Versão do ficheiro |
Tamanho do ficheiro |
Data |
Hora |
---|---|---|---|---|
Mscordacwks.dll |
2.0.50727.3068 |
992,264 |
16-Sep-2008 |
13:13 |
Mscorlib.dll |
2.0.50727.3068 |
4,546,560 |
16-Sep-2008 |
13:13 |
Mscorwks.dll |
2.0.50727.3068 |
5,815,808 |
16-Sep-2008 |
13:13 |
Windows 2000, Windows XP e Windows Server 2003, x64 versões
Nome do ficheiro |
Versão do ficheiro |
Tamanho do ficheiro |
Data |
Hora |
Plataforma |
---|---|---|---|---|---|
Mscordacwks.dll |
2.0.50727.3068 |
992,264 |
16-Sep-2008 |
13:13 |
x86 |
Mscorlib.dll |
2.0.50727.3068 |
4,546,560 |
16-Sep-2008 |
13:13 |
x86 |
Mscorwks.dll |
2.0.50727.3068 |
5,815,808 |
16-Sep-2008 |
13:13 |
x86 |
Mscordacwks.dll |
2.0.50727.3068 |
1,767,944 |
16-Sep-2008 |
10:33 |
x64 |
Mscorlib.dll |
2.0.50727.3068 |
4,562,944 |
16-Sep-2008 |
10:33 |
x64 |
Mscorwks.dll |
2.0.50727.3068 |
10,079,744 |
16-Sep-2008 |
10:33 |
x64 |
Windows 2000, Windows XP e Windows Server 2003, versões de IA-64
Nome do ficheiro |
Versão do ficheiro |
Tamanho do ficheiro |
Data |
Hora |
Plataforma |
---|---|---|---|---|---|
Mscordacwks.dll |
2.0.50727.3068 |
992,264 |
16-Sep-2008 |
13:13 |
x86 |
Mscorlib.dll |
2.0.50727.3068 |
4,546,560 |
16-Sep-2008 |
13:13 |
x86 |
Mscorwks.dll |
2.0.50727.3068 |
5,815,808 |
16-Sep-2008 |
13:13 |
x86 |
Mscordacwks.dll |
2.0.50727.3068 |
3,087,880 |
16-Sep-2008 |
10:44 |
IA-64 |
Mscorlib.dll |
2.0.50727.3068 |
4,005,888 |
16-Sep-2008 |
10:44 |
IA-64 |
Mscorwks.dll |
2.0.50727.3068 |
20,153,856 |
16-Sep-2008 |
10:44 |
IA-64 |
Estado
A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na secção "Aplica-se a".
Mais informações
Passos para reproduzir o problema
Para reproduzir este problema, crie um projecto do Microsoft Visual c# e, em seguida, execute o seguinte código num computador que tenha instalado o .NET Framework 3.5 SP1.
using System;namespace GetCustomModifiersBug
{
public interface IGenericInterface<T1, T2>
{
void GenericIfcMethod<T3>(T3 t3);
}
class Program
{
static void Main()
{
Type ifc = typeof(IGenericInterface<int, int>);
// Either of the following lines on their own will cause the problem
ifc.GetMethod("GenericIfcMethod").GetParameters()[0].GetOptionalCustomModifiers();
ifc.GetMethod("GenericIfcMethod").GetParameters()[0].GetRequiredCustomModifiers();
}
}
}
Referências
Para mais informações sobre a terminologia de atualização de software, clique no seguinte número de artigo para visualizar o artigo na Base de Dados de Conhecimento Microsoft:
824684 descrição da terminologia padrão utilizada para descrever actualizações de software da Microsoft