0

我一直致力于将 Silverlight 项目从 Silverlight 2 转换为 Silverlight 3。请注意,我的机器上从未安装过 SL 2 二进制文件或开发组件(它只有一个月大)。

这一直很好,应用程序一直在运行,直到我开始收到构建错误并ValidateXaml引发FileNotFoundExceptionin System.Core. 我不知道为什么突然开始发生这种情况,但通过一些搜索,答案似乎是在 GAC 中放置了各种 Silverlight DLL。这确实解决了构建错误。之后我没有尝试测试该应用程序是否正确运行。

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

消息:Silverlight 应用程序中未处理的错误
代码:4004    
类别:ManagedRuntimeError       
消息:System.IO.FileNotFoundException:无法加载文件或程序集“System.Windows.Controls,版本=2.0.5.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35”或其依赖项之一。该系统找不到指定的文件。
文件名:'System.Windows.Controls,版本 = 2.0.5.0,文化 = 中性,PublicKeyToken = 31bf3856ad364e35'
   在 MyNamespace.Page.InitializeComponent()
   在 MyNamespace.Page..ctor()
   在 MyNamespace.App.Application_Startup(对象发送者,StartupEventArgs e)
   在 System.Windows.CoreInvokeHandler.InvokeEventHandler(Int32 typeIndex,委托 handlerDelegate,对象发送者,对象参数)
   在 MS.Internal.JoltHelper.FireEvent(IntPtr unmanagedObj,IntPtr unmanagedObjArgs,Int32 argsTypeIndex,字符串 eventName)     

整个经历非常令人沮丧,我很想知道是什么导致了这些问题以及如何解决这些问题?

4

2 回答 2

1

您是否尝试过融合日志查看器?在 VS 命令 shell 中fuslogvw.exe,将其设置为在选项中显示绑定错误,清除日志,运行您的应用程序。之后它会给你一个详细的解释为什么它不能加载程序集。fuslogvw 在这里帮助了我很多次。

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

于 2010-01-15T05:07:36.330 回答
0

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

我暂时不回答这个问题,以防有人对造成这种情况的原因有一些想法。

于 2010-01-15T05:39:52.413 回答