Pergunta

Eu tenho trabalhado para converter um projeto de Silverlight de Silverlight 2 para Silverlight 3. Observe que eu tenho nunca teve SL 2 Binários ou componentes de desenvolvimento instalados na minha máquina (tem apenas um mês de idade).

Isso está indo bem e o aplicativo estava funcionando até eu começar a receber um erro de construção com ValidateXaml levantando a FileNotFoundException dentro System.Core. Não sei por que isso de repente começou a acontecer, mas de algumas pesquisas em torno da resposta parecia estar colocando várias DLLs de Silverlight no GAC. Isso realmente resolveu os erros de construção. Não tentei testar para verificar se o aplicativo correu corretamente depois disso.

Algum tempo depois, estou tentando executar o aplicativo novamente. Agora estou recebendo mais um FileNotFoundException, desta vez em System.Windows.Controls. Tentei remover todas as DLLs do Silverlight do GAC e adicioná -las novamente sem nenhum sucesso. Aqui está o rastreamento da pilha:

Message: Unhandled Error in Silverlight Application 
Code: 4004    
Category: ManagedRuntimeError       
Message: System.IO.FileNotFoundException: Could not load file or assembly 'System.Windows.Controls, Version=2.0.5.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.
File name: 'System.Windows.Controls, Version=2.0.5.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'
   at MyNamespace.Page.InitializeComponent()
   at MyNamespace.Page..ctor()
   at MyNamespace.App.Application_Startup(Object sender, StartupEventArgs e)
   at System.Windows.CoreInvokeHandler.InvokeEventHandler(Int32 typeIndex, Delegate handlerDelegate, Object sender, Object args)
   at MS.Internal.JoltHelper.FireEvent(IntPtr unmanagedObj, IntPtr unmanagedObjArgs, Int32 argsTypeIndex, String eventName)     

Toda essa experiência tem sido muito frustrante e eu adoraria saber O que está causando esses problemas e como corrigi -los?

Foi útil?

Solução 2

Reinstalei o tempo de execução do Silverlight e todos os componentes de desenvolvimento e o problema já desapareceu.

Estou deixando isso sem resposta por enquanto, caso alguém tenha algumas idéias sobre o que causou isso.

Outras dicas

Você já experimentou o visualizador de log de fusão? Em um shell de comando vs, fuslogvw.exe, defina -o para mostrar erros de ligação nas opções, limpe o log, execute seu aplicativo. Posteriormente, ele lhe dará uma explicação detalhada por que não poderia carregar a montagem. O FusLogvw me ajudou aqui muitas vezes.

Observe o ou uma de suas dependências. Isso é fundamental, é raro que seja a Assembléia que a exceção está reclamando, geralmente é um problema de dependência.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top