CORRECÇÃO: Mensagem de erro quando utiliza variáveis de ambiente DEVPATH numa aplicação do .NET Framework 2.0 ASP.NET Web: "Não foi possível carregar ficheiro ou assemblagem '<assemblyname>' ou uma das respectivas dependências"

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

Nesta página

Sintomas

Quando as assemblagens forem carregadas pela primeira vez numa aplicação Web do Microsoft .NET Framework 2.0 ASP.NET, receberá a seguinte mensagem de erro:
System.IO.FileNotFoundException
Não foi possível carregar ficheiro ou assemblagem ' AssemblyName ' ou uma das respectivas dependências. O sistema não é possível encontrar o ficheiro especificado.
Poderá receber esta mensagem de erro se verifiquem as seguintes condições:
  • A aplicação .NET Framework 2.0 ASP.NET Web faz referência a uma ou mais assemblagens de biblioteca de classe.
  • Criar DEVPATH variáveis de ambiente de modo a que estas assemblagens localize a versão das assemblagens que pretende utilizar.
Este problema não ocorre se utilizar o Microsoft ASP.NET 1.1 para desenvolver a aplicação.

Resolução

Informações sobre a correcção

Uma correcção suportada está agora disponível da Microsoft. Contudo, destina-se 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 suporte técnico da Microsoft para obter a correcção. Para obter uma lista completa dos números de telefone de 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.

Informações sobre reinício

Não é necessário reiniciar o computador depois de aplicar esta correcção.

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

Esta correcção substitui as correcções descritas nos seguintes artigos na base de dados de conhecimento da Microsoft:
917507CORRECÇÃO: Compilação JIT poderá demorar muito mais tempo quando executa uma aplicação .NET Framework 2.0 num computador de 64 bits
917882CORRECÇÃO: Método sincronizado com chamadas de segurança poderá não guardar um valor de retorno depois do controlo voltará para a função chamada numa aplicação concebida utilizando a versão de 64 bits do .NET Framework 2.0
919514CORRECÇÃO: Quando utilizar Assembler MSIL no .NET Framework 2.0 para gerar um ficheiro PE contra o código MSIL, o ficheiro PE poderá fechar inesperadamente e poderá receber uma mensagem de erro de violação de acesso
923319CORRECÇÃO: Mensagem de erro quando compilar o código MSIL para um programa executável no .NET Framework 2.0: "IndexOutOfRangeException"
928208CORRECÇÃO: Aplicações personalizadas que utilizam o Visual Studio para aplicações do Visual Basic Runtime poderão não conseguir para compilar as macros e executar macros

Informações sobre ficheiros da correcção

Esta correcção contém apenas os ficheiros necessários para corrigir os problemas referidos neste artigo. Esta correcção poderá não conter todos os ficheiros que necessita para actualizar completamente um produto para a compilação mais recente.

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.
O .NET Framework 2.0, x 86 versões
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempoPlataforma
Mscordacwks.dll2.0.50727.796802,30424 De Janeiro de 200718: 54x 86
Mscorjit.dll2.0.50727.796326,65624 De Janeiro de 200718: 54x 86
Mscorlib.dll2.0.50727.7964,308,99224 De Janeiro de 200718: 54x 86
Mscorpe.dll2.0.50727.796102,91224 De Janeiro de 200718: 54x 86
Normalization.dll2.0.50727.79615,36024 De Janeiro de 200718: 54x 86
Peverify.dll2.0.50727.796136,19224 De Janeiro de 200718: 54x 86
Sos.dll2.0.50727.796382,46424 De Janeiro de 200718: 54x 86
Vsavb7rt.dll8.0.50727.7961,330,68824 De Janeiro de 200718: 54x 86
O .NET Framework 2.0, versões baseadas em 64 x
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempoPlataforma
Mscordacwks.dll2.0.50727.7961,597,44024 De Janeiro de 200710: 43x 64
Mscordacwks.dll2.0.50727.796802,30424 De Janeiro de 200718: 54x 86
Mscorjit.dll2.0.50727.7961,587,71224 De Janeiro de 200710: 41x 64
Mscorjit.dll2.0.50727.796326,65624 De Janeiro de 200718: 54x 86
Mscorlib.dll2.0.50727.7963,960,83224 De Janeiro de 200714: 00x 64
Mscorlib.dll2.0.50727.7964,308,99224 De Janeiro de 200718: 54x 86
Mscorpe.dll2.0.50727.796157,18424 De Janeiro de 200710: 36x 64
Mscorpe.dll2.0.50727.796102,91224 De Janeiro de 200718: 54x 86
Mscorpjt.dll2.0.50727.7962,004,99224 De Janeiro de 200710: 42x 64
Mscorwks.dll2.0.50727.79610,320,89624 De Janeiro de 200710: 39x 64
Mscorwks.dll2.0.50727.7965,625,34424 De Janeiro de 200718: 54x 86
Normalization.dll2.0.50727.79618,43224 De Janeiro de 200710: 40x 64
Normalization.dll2.0.50727.79615,36024 De Janeiro de 200718: 54x 86
Peverify.dll2.0.50727.796205,82424 De Janeiro de 200710: 41x 64
Peverify.dll2.0.50727.796136,19224 De Janeiro de 200718: 54x 86
Sos.dll2.0.50727.796480,76824 De Janeiro de 200710: 50x 64
Sos.dll2.0.50727.796382,46424 De Janeiro de 200718: 54x 86
Vsavb7rt.dll8.0.50727.7961,330,68824 De Janeiro de 200718: 54x 86
O .NET Framework 2.0, versões de arquitectura Itanium
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempoPlataforma
Mscordacwks.dll2.0.50727.7962,719,23224 De Janeiro de 200710: 45IA-64
Mscordacwks.dll2.0.50727.796802,30424 De Janeiro de 200718: 54x 86
Mscorjit.dll2.0.50727.7962,705,92024 De Janeiro de 200710: 43IA-64
Mscorjit.dll2.0.50727.796326,65624 De Janeiro de 200718: 54x 86
Mscorlib.dll2.0.50727.7963,960,83224 De Janeiro de 200714: 10IA-64
Mscorlib.dll2.0.50727.7964,308,99224 De Janeiro de 200718: 54x 86
Mscorpe.dll2.0.50727.796313,85624 De Janeiro de 200710: 36IA-64
Mscorpe.dll2.0.50727.796102,91224 De Janeiro de 200718: 54x 86
Mscorpjt.dll2.0.50727.7963,501,05624 De Janeiro de 200710: 43IA-64
Mscorwks.dll2.0.50727.79621,309,44024 De Janeiro de 200710: 41IA-64
Mscorwks.dll2.0.50727.7965,625,34424 De Janeiro de 200718: 54x 86
Normalization.dll2.0.50727.79644,03224 De Janeiro de 200710: 42IA-64
Normalization.dll2.0.50727.79615,36024 De Janeiro de 200718: 54x 86
Peverify.dll2.0.50727.796383,48824 De Janeiro de 200710: 43IA-64
Peverify.dll2.0.50727.796136,19224 De Janeiro de 200718: 54x 86
Sos.dll2.0.50727.796862,72024 De Janeiro de 200710: 53IA-64
Sos.dll2.0.50727.796382,46424 De Janeiro de 200718: 54x 86
Vsavb7rt.dll8.0.50727.7961,330,68824 De Janeiro de 200718: 54x 86
Windows Vista, x 86 versões
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiro Versão do ficheiro Tamanho do ficheiro Data Tempo Plataforma
Mscorlib.dll 2.0.50727.821 4,308,992 22-Mar de 2007 22: 14 x 86
Mscordacwks.dll 2.0.50727.821 802,304 16-Abr de 2007 22: 53 x 86
Mscorjit.dll 2.0.50727.312 326,656 16-Abr de 2007 22: 53 x 86
Mscorpe.dll 2.0.50727.312 102,912 16-Abr de 2007 22: 53 x 86
Mscorwks.dll 2.0.50727.821 5,633,024 16-Abr de 2007 22: 53 x 86
Normalization.dll 2.0.50727.821 15,360 16-Abr de 2007 22: 53 x 86
Peverify.dll 2.0.50727.312 136,192 16-Abr de 2007 22: 53 x 86
Sos.dll 2.0.50727.312 382,464 16-Abr de 2007 22: 53 x 86
Vsavb7rt.dll 8.0.50727.812 1,330,688 16-Abr de 2007 22: 53 x 86
Windows Vista, versões baseadas em 64 x
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempoPlataforma
Mscorlib.dll2.0.50727.8213,960,83222-Mar de 200722: 13x 64
Mscordacwks.dll2.0.50727.8211,597,44022-Mar de 200722: 13x 64
Mscorjit.dll2.0.50727.3121,588,22407-Janeiro de 200705: 30x 64
Mscorpe.dll2.0.50727.312157,18407-Janeiro de 200705: 30x 64
Mscorwks.dll2.0.50727.82110,334,20822-Mar de 200722: 13x 64
Normalization.dll2.0.50727.82118,43222-Mar de 200722: 13x 64
Peverify.dll2.0.50727.312205,82407-Janeiro de 200705: 31x 64
Sos.dll2.0.50727.312480,76807-Janeiro de 200705: 31x 64
Mscorlib.dll2.0.50727.8214,308,99222-Mar de 200722: 14x 86
Mscordacwks.dll2.0.50727.821802,30416-Abr de 200722: 53x 86
Mscorjit.dll2.0.50727.312326,65616-Abr de 200722: 53x 86
Mscorpe.dll2.0.50727.312102,91216-Abr de 200722: 53x 86
Mscorwks.dll2.0.50727.8215,633,02416-Abr de 200722: 53x 86
Normalization.dll2.0.50727.82115,36016-Abr de 200722: 53x 86
Peverify.dll2.0.50727.312136,19216-Abr de 200722: 53x 86
Sos.dll2.0.50727.312382,46416-Abr de 200722: 53x 86

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

Tem de aplicar esta correcção para as assemblagens que são referenciadas explicitamente a partir de outras assemblagens ou de aplicação Web ASP.NET.

Por vezes, as assemblagens que existem na localização DEVPATH não podem ser encontradas, apesar de ter aplicado esta correcção. Por exemplo, uma aplicação contém o código seguinte para fazer referência a assemblagem DevPathClassLibrary.dll e para fazer referência a assemblagem MyCustomControl.dll pelo respectivo names.
<%@ Assembly Name="DevPathClassLibrary" %>
<%@ Register TagPrefix="SimpleControlSamples" Namespace="MyCustomControl" Assembly="MyCustomControl" %>
se estas assemblagens existirem na localização DEVPATH, as assemblagens não se encontram. Isto ocorre porque versões posteriores do common language runtime (CLR) não suportam o carregamento de assemblagens por nome parcial. Esta é uma alteração de estrutura de versões anteriores do CLR.

Para contornar esta alteração, certifique-se que todas as assemblagens referidas pela utilização de nomes parciais nomes seguros. Além disso, certifique-se que as assemblagens utilizam o elemento qualifyAssembly no ficheiro de configuração para a aplicação. As assemblagens utilizar o elemento qualifyAssembly, a aplicação redirecciona o nome parcial para a assemblagem com nome seguro que instalar na cache de assemblagem global. Em seguida, pode colocar a versão da assemblagem que pretende utilizar na localização DEVPATH. A aplicação carrega esta assemblagem em vez da cópia que existe na cache de assemblagem global.

Para mais informações sobre a localização de DEVPATH, visite os seguintes Web sites da Microsoft Developer Network (MDSN):
http://msdn2.microsoft.com/en-us/library/cd71chf0(vs.80).aspx

http://msdn2.microsoft.com/en-us/library/cskzh7h6.aspx
Para obter mais informações sobre a terminologia de actualização de software, 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

Referências

Para obter mais informações sobre este problema, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
915430CORRECÇÃO: Nem todos os caminhos que são especificados na variável de ambiente DEVPATH serão considerados pela infra-.NET enlace estrutura (fusão) no .NET Framework 2.0

Propriedades

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

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