在System.Windows.Controls中使用FileNotFoundException中断的Silverlight应用程序

时间:2010-01-15 04:40:47

标签: silverlight silverlight-3.0 filenotfoundexception

我一直在努力将Silverlight项目从Silverlight 2转换为Silverlight 3.请注意,我从未在我的计算机上安装了SL 2 二进制文件或开发组件(它只有一个月的时间)。

这一直很顺利,应用程序一直在运行,直到我开始在ValidateXaml FileNotFoundException System.Core FileNotFoundException时出现构建错误。我不知道为什么会突然发生这种情况,但是从一些搜索中回答似乎是将各种Silverlight DLL放在GAC中。这确实解决了构建错误。我没有尝试测试以检查应用程序之后是否正确运行。

一段时间后,我正在尝试再次运行该应用程序。现在我又来了System.Windows.Controls,这次是{{1}}。我已经尝试从GAC中删除所有Silverlight DLL并再次添加它们而没有任何成功。这是堆栈跟踪:

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)     

这整个过程非常令人沮丧,我很想知道导致这些问题的原因以及如何解决这些问题?

2 个答案:

答案 0 :(得分:1)

您是否尝试过融合日志查看器?在VS命令shell fuslogvw.exe中,将其设置为在选项中显示绑定错误,清除日志,运行您的应用程序。之后,它将为您详细解释无法加载程序集的原因。 fuslogvw多次帮助过我。

请注意或其中一个依赖项。这是关键,很少是异常所抱怨的程序集,它通常是一个依赖问题。

答案 1 :(得分:0)

我重新安装了Silverlight运行时和所有开发组件,问题现在已经消失。

我暂时没有回复,以防万一有人对这是什么造成了一些想法。