【发布时间】:2014-02-27 23:47:25
【问题描述】:
我有其他人的基于 WPF 的 .NET 3.5 应用程序,我正在尝试更新到 .NET 4.5。代码在 .NET 3.5 下运行良好,我在 Windows 7 上运行 Visual Studio 2013 Express。更新似乎进展顺利,代码编译良好,但当我尝试运行应用程序时,出现以下异常。
An unhandled exception of type 'System.TypeInitializationException' occurred in PresentationFramework.dll
Additional information: The type initializer for 'System.Windows.Application' threw an exception.
这是堆栈跟踪的最后几个步骤。
PresentationFramework.dll!System.Windows.Windows.Application()
MiniMon.exe!MiniMon.App.App()
MiniMon.exe!MiniMon.App.Main()
这是 app.xaml 文件。
<Application x:Class="MiniMon.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
StartupUri="Window1.xaml">
<Application.Resources>
</Application.Resources>
</Application>
我可以下载一个示例 WPF 应用程序 (WPFCalculator),它运行良好,因此我尝试将要更新的应用程序剥离为示例应用程序中的内容。我还尝试在 app.xaml.cs 中代码的入口点添加断点,但即使在执行该代码之前也会引发异常。作为最后的手段,我尝试在 Windows 8 上运行该应用程序,但遇到了同样的错误。
如何解决这个问题?
【问题讨论】:
-
您能提供给我们 App.Main() 代码吗?
-
您可能会检查所有引用(包括 .net 框架)并确保您仍然没有引用任何 3.5 框架程序集。
-
@DragomirRăzvan 这是 app.xaml.cs 的代码。我不太清楚为什么原作者没有添加标准初始化代码,但我尝试添加它仍然得到同样的错误。
using System; using System.Collections.Generic; using System.Configuration; using System.Data; using System.Linq; using System.Windows; namespace MiniMon { /// <summary> /// Interaction logic for App.xaml /// </summary> public partial class App : Application { } } -
对不起,我是 stackoverflow 的新手。
-
根据the documentation for the
System.TypeInitializationException:“当类初始化程序无法初始化类型时,会创建一个 TypeInitializationException 并传递对该类型的类初始化程序抛出的异常的引用。TypeInitializationException 的 InnerException 属性包含潜在的例外。”你看过内部异常了吗?