2783808 De conjunto de correcções para o .NET Framework 4.5 no Windows 7, Windows 7. o SP1, Windows 2008 R2, Windows 2008 R2 SP1, Windows 2008 SP2 e Windows Vista SP2

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

Nesta página

Introdução

Este artigo descreve o conjunto de correcções 2783808 para o Microsoft .NET Framework 4.5 Service Pack 2 (SP2) no Windows 7, Windows 7. o Service Pack 1 (SP1), Windows 2008 R2, Windows 2008 R2 SP1, Windows 2008 SP2 e Windows Vista SP2. Este conjunto de correcções está disponível para corrigir vários problemas no.NET Framework 4.5. Para mais informações sobre os problemas resolvido pela correcção, consulte a secção "Que este conjunto de correcções resolve problemas".

Mais Informação

Informações sobre a correcção

Está agora disponível na Microsoft uma correcção suportada. Contudo, destina-se apenas a corrigir o problema descrito neste artigo. Aplique-a apenas em sistemas que tenham este problema específico.

Para resolver este problema, contacte o suporte técnico da Microsoft para obter a correcção. Para obter uma lista completa dos 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 de normais do suporte serão aplicados a perguntas de suporte adicionais e problemas que não se enquadrem na atualização específica em questão.

Pré-requisitos

Para aplicar esta correcção, tem de ter o.NET Framework 4.5 SP1 instalado no Windows 7, Windows 7. o SP1, Windows 2008 R2, Windows 2008 R2 SP1, Windows 2008 SP2 ou Windows Vista SP2.

Requisito de reinício

Tem de reiniciar o computador depois de aplicar esta correcção se todos os ficheiros afectados que estão a ser utilizados. Recomendamos que feche todas as aplicações do .NET Framework antes de aplicar esta correcção.

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

Este pacote de correcção não substitui um pacote de correcções disponibilizadas anteriormente.

Informações de ficheiro

Reduzir esta imagemExpandir esta imagem
assets folding start collapsed
A versão global 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 a Fuso horário separador na Data e hora item no painel de controlo.
Para todas as versões baseadas em x86 suportadas do Windows 7, Windows 7. o SP1, Windows 2008 SP2 e Windows Vista SP2
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempoPlataforma
CLR.dll4.0.30319.190476,876,60828-Nov-201201:28x86
Ficheiro Mscordacwks. dll4.0.30319.190471,299,44028-Nov-201201:28x86
Mscordbi.dll4.0.30319.190471,096,65628-Nov-201201:28x86
Mscorlib. dll4.0.30319.190475,171,15228-Nov-201202:39x86
Presentationcore.dll4.0.30319.190473,224,56028-Nov-201202:39x86
Presentationframework.dll4.0.30319.190476,187,01628-Nov-201202:39x86
Sos. dll4.0.30319.19047746,94428-Nov-201201:28x86
System. dll4.0.30319.190473,449,28828-Nov-201202:39x86
System.IdentityModel.dll4.0.30319.190471,084,92828-Nov-201202:39x86
System.Printing.dll4.0.30319.19047342,00028-Nov-201202:39x86
System.Runtime.serialization.dll4.0.30319.190471,051,69628-Nov-201202:39x86
System.ServiceModel.Channels.dll4.0.30319.19047158,76828-Nov-201202:39x86
System.ServiceModel.Discovery.dll4.0.30319.19047312,36028-Nov-201202:39x86
System.ServiceModel.dll4.0.30319.190476,368,78428-Nov-201202:39x86
Windowsbase.dll4.0.30319.190471,237,48828-Nov-201202:39x86
Para todas as versões baseadas em x64 suportadas do Windows 7, Windows 7. o SP1, Windows 2008 R2, Windows 2008 R2 SP1, Windows 2008 SP2 e Windows Vista SP2
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempoPlataforma
CLR.dll4.0.30319.190479,804,22428-Nov-201200:33x64
CLR.dll4.0.30319.190476,876,60828-Nov-201201:28x86
Ficheiro Mscordacwks. dll4.0.30319.190471,742,81628-Nov-201200:33x64
Ficheiro Mscordacwks. dll4.0.30319.190471,299,44028-Nov-201201:28x86
Mscordbi.dll4.0.30319.190471,497,04028-Nov-201200:33x64
Mscordbi.dll4.0.30319.190471,096,65628-Nov-201201:28x86
Mscorlib. dll4.0.30319.190475,120,46428-Nov-201200:33x64
Mscorlib. dll4.0.30319.190475,171,15228-Nov-201202:39x86
Presentationcore.dll4.0.30319.190473,207,68028-Nov-201200:33x64
Presentationcore.dll4.0.30319.190473,224,56028-Nov-201202:39x86
Presentationframework.dll4.0.30319.190476,187,01628-Nov-201202:39x86
Sos. dll4.0.30319.19047785,34428-Nov-201200:33x64
Sos. dll4.0.30319.19047746,94428-Nov-201201:28x86
System. dll4.0.30319.190473,449,28828-Nov-201202:39x86
System.IdentityModel.dll4.0.30319.190471,084,92828-Nov-201202:39x86
System.Printing.dll4.0.30319.19047342,01628-Nov-201200:33x64
System.Printing.dll4.0.30319.19047342,00028-Nov-201202:39x86
System.Runtime.serialization.dll4.0.30319.190471,051,69628-Nov-201202:39x86
System.ServiceModel.Channels.dll4.0.30319.19047158,76828-Nov-201202:39x86
System.ServiceModel.Discovery.dll4.0.30319.19047312,36028-Nov-201202:39x86
System.ServiceModel.dll4.0.30319.190476,368,78428-Nov-201202:39x86
Windowsbase.dll4.0.30319.190471,237,48828-Nov-201202:39x86
Reduzir esta imagemExpandir esta imagem
assets folding end collapsed

Problemas que este conjunto de correcções resolve

Common language runtime Problemas (CLR)

Problema 1

Quando uma aplicação .NET Framework 4.5 tenta executar a recolha de lixo de fundo num computador que tenha pouca memória, poderá ocorrer um impasse.

Problema 2

O método PerformanceCounterCategory.GetCategories não é possível voltar à lista de desempenho categorias de contador em alguns sistemas operativos que estão a utilizar idiomas diferentes do inglês. Além disso, se uma aplicação .NET Framework executa código semelhante ao seguinte enumerar as categorias de contador de desempenho, é devolvido algum valor:
PerformanceCounterCategory[] categories;
categories = PerformanceCounterCategory.GetCategories();
Console.WriteLine(categories.Length + " categories are registered on this computer");
Depois de aplicar a correcção, tem de adicionar a seguinte chave de configuração nova LocalizedPerfCounter no ficheiro de configuração da aplicação para a aplicação do .NET Framework:
<configuration>
    <appSettings>
        <add key="LocalizedPerfCounter" value="true" />
    </appSettings>
</configuration>

Problemas do Windows Communication Foundation (WCF)

Problema 1

Suponha que existe uma aplicação que utiliza a classe System.Xml.XmlDictionaryReader WCF para ler o UTF-8 codificado caracteres Unicode. Quando a aplicação lê determinados caracteres Unicode que incidem dentro de um determinado intervalo, o processo de leitura poderá ser lento.

NotaPara mais informações sobre a classe de System.Xml.XmlDictionaryReader, vá para o seguinte Web site da MSDN:
Informações gerais sobre a classe XmlDictionaryReader


Problema 2

Num computador que esteja a executar o 4.5 Framework .NET ou uma versão anterior, aplicações WCF não é possível aceder a um certificado de cliente se a propriedade HttpsTransportBindingElement.RequireClientCertificate estiver definida como FALSE. Quando uma aplicação tenta aceder a certificados de cliente, o WCF funciona dos seguintes modos:
  • requerer ou rejeitar
  • não necessita e não validar
Nesta situação, não é possível criar uma aplicação para o qual o certificado, a verificação é permissiva (por exemplo, não é possível criar uma aplicação que utiliza o modo não requerem certificados mas validar se fornecidos ). Esta correcção permite que a aplicação adicionar uma definição por ponto final que fornece o certificado de cliente para as aplicações do WCF, se o cliente fornece o certificado. No entanto, o certificado é opcional. Ligações não serão rejeitadas se não for fornecido um certificado. Por exemplo, um Web site pode tentar utilizar a autenticação de formulários para validar uma tentativa de acesso num servidor e para conceder permissões adicionais se a presença de um certificado de cliente é apresentada ao servidor.

Para desenvolver a aplicação, criar um comportamento EndpointBehavior e, em seguida, adicione o comportamento num enlace do ponto final. Por exemplo, executar o seguinte código para criar e adicionar o comportamento:
class ValidateOptionalClientCertificateBehavior : IEndpointBehavior
        {
            private const string ValidateOptionalClientCertificates = "wcf:HttpTransport:ValidateOptionalClientCertificates";
 
            public void AddBindingParameters(ServiceEndpoint endpoint, BindingParameterCollection bindingParameters)
            {
                IDictionary<string, object> endpointSettings = bindingParameters.Find<IDictionary<string, object>>();
 
                if (endpointSettings == null)
                {
                    endpointSettings = new Dictionary<string, object>(StringComparer.OrdinalIgnoreCase);
                    bindingParameters.Add(endpointSettings);
                }
 
                if (endpointSettings.ContainsKey(ValidateOptionalClientCertificates))
                {
                    endpointSettings[ValidateOptionalClientCertificates] = true;
                }
                else
                {
                    endpointSettings.Add(ValidateOptionalClientCertificates, true);
                }
            }
 
            public void ApplyClientBehavior(ServiceEndpoint endpoint, ClientRuntime clientRuntime)
            {
            }
 
            public void ApplyDispatchBehavior(ServiceEndpoint endpoint, EndpointDispatcher endpointDispatcher)
            {
            }
 
            public void Validate(ServiceEndpoint endpoint)
            {
                if (endpoint.ListenUri.Scheme != "https")
                {
                    throw new InvalidOperationException();
                }
            }
        }
    }
Em alternativa, pode adicionar a seguinte definição do ponto final para a colecção de bindingParameters:
string ValidateOptionalClientCertificatesString = "wcf:HttpTransport:ValidateOptionalClientCertificates";
            Dictionary<string, object> endpointSettings = new Dictionary<string, object>();
            endpointSettings.Add(ValidateOptionalClientCertificatesString, true);
            bindingParameters.Add(endpointSettings);


Problema 3

Quando executa o serviço WCF que suporta WS-Discovery através de protocolo de datagrama de utilizador (UDP) num servidor, poderá detectar um ou mais dos seguintes problemas:
  • Utilização da CPU aumenta inesperadamente no servidor.
  • O tráfego multicast é maior que o esperado.
  • Muitas mensagens de falha SOAP são respeitadas numa rede onde o .NET Framework 4.5 é implementado em todas as ou um subconjunto de computadores.
Esta correcção evita que as mensagens de falha SOAP devolvidas a partir de um ponto final de UDP, se for recebida uma mensagem de multicast do WS-Discovery num ponto final que não está configurado para WS-Discovery.

NotaEstes problemas poderão ocorrer mesmo que o serviço não foi compilado para a 4.5 Framework .NET de destino. Estes problemas podem ocorrer num ambiente ou a rede em que a 4.5 Framework .NET está presente em pontos finais de um ou mais.

Problemas de apresentação de Windows Foundation (WPF)


Problema 1

Fraco desempenho de impressão ocorre quando utiliza o serviço WPF com base no quadro 4.5 a.NET para imprimir numa impressora de Interface de dispositivos gráficos (GDI) num sistema operativo. Este problema ocorre caso se verifiquem as seguintes condições:
  • O sistema operativo que aloja o serviço utiliza uma região de inglês.
  • O sistema operativo tem um dos seguintes produtos instalado:
    • WPF versão 4.0
    • WPF versão 4.5
    • O WPF versão 3.5 e a correcção descrita no seguinte artigo da Base de dados de conhecimento da Microsoft (ou uma correcção de actualização que inclui esta correcção):
      980294 Os caracteres no tipo de letra do código de barras são impressos no tipo de letra Wingdings num documento XPS que é criado utilizando o .NET Framework 3.0
  • Imprimir um documento que tenha vários blocos de texto.
Este problema ocorre porque uma operação de pesquisa ocorre sempre que o processo de impressão chama um bloco de texto para localizar o tipo de letra GDI que é utilizado para apresentar o texto. A utilização de recursos da operação de pesquisa é aumentada aplicando a correcção que é distribuída no KB980294, o WPF versão 4.0 e o WPF versão 4.5. Além disso, a utilização de recursos da operação de pesquisa domina a utilização de recursos global do processo de impressão. Esta correcção resolve um problema conhecido na lógica que coloca em cache os resultados da operação de pesquisa. Depois de aplicar a correcção, a utilização de recursos da operação de pesquisa ocorre uma vez por tipo de letra GDI em vez de ocorrência de uma vez por bloco de texto.

Problema 2

Considere o seguinte cenário:
  • Tem uma aplicação baseada no .NET Framework 4.5 que contém um controlo WPF editável. O controlo utiliza um Input Method Editor (IME).
  • Introduza o texto no controlo.
  • O controlo pode alterar o texto que é de entrada. Seguem-se exemplos deste comportamento:
    • Suponha que tem uma caixa de texto controlo tem a propriedade de texto de ligação de dados. O accionador da origem de actualização para um enlace de TextBox.Text da propriedade está definido como PropertyChanged. À medida que introduzir o texto, é enviada para uma propriedade de um item de dados subjacente, que é descrito no caminho do enlace. Além disso, o texto pode ser substituído por uma cadeia diferente do item de dados propriamente dito ou os conversores que intervêm no enlace.
    • Suponha que tem um controlo de caixa de combinação editável com a definição de procura de texto activada. Como introduzir texto, o controlo de caixa de combinação tenta fazer corresponder o texto com a lista de opções disponíveis. Se o controlo de encontrar uma opção que começa com o texto, o texto será substituído pelo texto completo da opção correspondente.
  • Activar o IME enviar uma mensagem WM_IME_CHAR a uma aplicação de WPF quando o controlo está no estado "texto foi modificado através do controlo".

    NotaA sequência exacta de caracteres que faz com que esta mensagem é significativamente diferente entre os diferentes IME. Alguns IME nunca enviar esta mensagem de todo.
Neste cenário, a aplicação baseada no .NET Framework 4.5 poderá falhar com uma excepção de System.InvalidOperationException.

Para resolver este problema, aplique a correcção. Esta correcção também resolve um problema específico no qual o Visual Studio 2012 falha quando edita um Team Foundation Server (TFS) funcionam item em conjunto com Engkoo Pinyin IME activada. Segue-se uma descrição detalhada de resolver esse problema:

Suponha a entrada de texto para o campo "Atribuído a" de um item de trabalho no Visual Studio 2012. Quando, em seguida, premir Enter depois de introduzir o texto, o IME Engkoo envia a mensagem WM_IME_CHAR. Por conseguinte, o Visual Studio 2012 falha.

NotaIntroduzir texto emoutros campos do item de trabalho TFS também podem causar este problema.
NotaEste problema também ocorre na versão WPF 4.0 ou uma versão anterior do WPF. No entanto, a correcção só se aplica a WPF versão 4.5.
Problema 3

Considere o seguinte cenário:
  • Tem uma aplicação de WPF que declara uma propriedade de ligação de dados. A propriedade de ligação de dados contém um enlace que tenha um caminho complexo. Por exemplo, o enlace tem o seguinte caminho:
    {Path=A.B.C.D de enlace}
  • Criar um modelo de dados que desencadeia uma notificação de PropertyChanged para alguns componentes do caminho de um thread de trabalho. Por exemplo, o thread de trabalho desencadeia uma notificação de alteração de propriedade C.

    Notas
    • O thread de trabalho pode ser qualquer thread que difere o thread de IU.
    • O thread de IU é o thread que foi declarado pelo enlace.
  • Antes do thread de IU processa a notificação de PropertyChanged, o modelo de dados gera outra notificação PropertyChanged para um componente anterior do caminho. Por exemplo, tem um thread desencadeia uma notificação de alteração de propriedade A.

    NotaA segunda notificação PropertyChanged pode ocorrer em qualquer thread. Isto inclui o thread de IU.
Neste caso, a segunda notificação é ignorada. Além disso, a perda de dados ocorre. Por exemplo, a propriedade D obtém o valor original da propriedade A. No entanto, o resultado esperado é essa propriedade que d obtém o valor alterado da propriedade A.

Nota Este problema também poderá afectar uma versão anterior à versão 4.5 do WPF. No entanto, a correcção só se aplica a WPF versão 4.5.


Problema 4

Considere o seguinte cenário:
  • Tem uma aplicação de WPF executa código de declarar um controlo de bloco de texto e o código é semelhante ao seguinte:
    <TextBlock TextTrimming="CharacterEllipses" TextWrapping="NoWrap">
  • Entrada de texto para uma cadeia longa que é de 9600 caracteres ou mais.
  • Executar a aplicação num computador que esteja a executar o WPF versão 4.5.
Neste cenário, o controlo do bloco de texto apresenta várias linhas de texto e cada linha de texto termina com reticências. Por exemplo, é o número de linhas que são apresentados n/ 9600.

Notan é um marcador de posição que representa o comprimento do texto original. No entanto, o resultado esperado é que o controlo do bloco de texto apresenta uma única linha de texto que termina com nas reticências.

Propriedades

Artigo: 2783808 - Última revisão: 16 de junho de 2013 - Revisão: 2.0
A informação contida neste artigo aplica-se a:
  • Microsoft .NET Framework 4.5
Palavras-chave: 
kbqfe kbhotfixserver kbfix kbexpertiseadvanced kbsurveynew kbmt KB2783808 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: 2783808

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