【问题标题】:A nonexistent .Aero assembly is referenced by WPFWPF 引用了一个不存在的 .Aero 程序集
【发布时间】:2012-03-30 08:08:36
【问题描述】:

我在 WPF 应用程序中遇到了 XamDataChart 的问题。当我将图表添加到设计器工作正常的页面时,我设置了所有内容,并且在屏幕上看起来还不错。然后我启动应用程序,图表构造函数使应用程序崩溃,寻找一个不存在的程序集。这在调试和发布版本中都会发生。

System.IO.FileNotFoundException occurred
Message=Could not load file or assembly 'InfragisticsWPF4.DataVisualization.v11.1.Aero, Version=11.1.20111.2094, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb' or one of its dependencies. The system cannot find the file specified.
...
Calling assembly : PresentationFramework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35.

Callstack(相关部分):

mscorlib.dll!System.Reflection.RuntimeAssembly.InternalLoadAssemblyName
mscorlib.dll!System.Reflection.RuntimeAssembly.InternalLoad
mscorlib.dll!System.Reflection.Assembly.Load
PresentationFramework.dll!System.Windows.SystemResources.ResourceDictionaries.LoadExternalAssembly
... 
InfragisticsWPF4.DataVisualization.v11.1.dll!Infragistics.InteractiveControl.InteractiveControl()   InfragisticsWPF4.DataVisualization.v11.1.dll!Infragistics.Controls.XamZoombar.XamZoombar()
InfragisticsWPF4.Controls.Charts.XamDataChart.v11.1.dll!Infragistics.Controls.Charts.XamDataChart.XamDataChart()
System.Xaml.dll!System.Xaml.Schema.XamlTypeInvoker.CreateInstance

由于我怀疑 Infragistics 提供的程序集带有未解析的引用,并且我无法在 HDD 上的任何位置找到 .Aero 程序集,我想这是 PresentationFramework“代表”控件程序集完成的一些动态程序集加载。我在 WPF 中仍然不是那么好,我并不真正了解这种机制,也不了解 WPF 为何尝试加载此程序集,也不了解 WPF 不能正常失败的重要性。有人可以对此有所了解并帮助我解决这个僵局。

【问题讨论】:

  • 您是否已尝试联系 Infragistics 寻求支持?他们的反应是什么?
  • 那是我的下一步 :) 所以通常更快 :)

标签: c# wpf wpf-controls aero


【解决方案1】:

我相信,由于您的应用程序是 WPF 应用程序,并且它尝试与 Windows 中的当前主题或应用程序的当前主题集成,因此它会搜索此 .Aero dll,因为您使用的是 Aero 主题。您需要找到此 dll 并添加您的项目或更改主题可能是一种解决方法。

【讨论】:

  • 但是没有同名的程序集。
  • 您能看看您的资源文件是否包含与航空主题相关的内容吗?
  • 另外,你可以在发布模式下运行项目吗?看看,forums.infragistics.com/forums/p/67013/340465.aspx
  • 我看到了那个帖子,但我在发布模式下也遇到了异常。如果我至少了解 WPF 背后的机制最终需要这个程序集,也许我会喜欢一个解决方法。此外,我需要调试这个应用程序,他们的建议“在 lrelease 模式下运行”是蹩脚
  • 我同意,您是否尝试过更改主题和调试?如果它以这种方式工作,那么可能会得出结论,它与您的机器工作的主题完全相关。
【解决方案2】:

对我来说,答案是删除我的 .suo 文件并ReBuild 我的整个解决方案。正如question 的答案之一所建议的那样。

【讨论】:

    猜你喜欢
    • 2015-03-14
    • 2021-01-02
    • 1970-01-01
    • 1970-01-01
    • 2012-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多