Skip to main content
 首页 » 编程设计

.net之WPF应用程序在启动时失败,并显示TypeInitializationException

2025年02月15日18fff_TT

我有一个尝试启动的简单WPF应用程序。我正在遵循Microsoft模式和实践“WPF的复合应用程序指南”。我已经按照他们的指示进行操作,但是我的WPF应用程序立即失败,并显示“TypeInitializationException”。

InnerException属性显示“System.Windows.Navigation.BaseUriHelper的类型初始值设定项引发了异常。”

这是我的app.xaml:

<Application x:Class="MyNamespace.App" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> 
    <Application.Resources>          
    </Application.Resources> 
</Application> 

这是我的app.xaml.cs(“public App()”抛出的异常):
public partial class App : Application 
{ 
    public App() 
    { 
        Bootstrapper bootStrapper = new Bootstrapper(); 
        bootStrapper.Run(); 
    } 
} 

我已将“App”类设置为项目中的启动对象。

误入歧途?

请您参考如下方法:

谢谢@ima,您的回答为我指明了正确的方向。我正在使用一个app.config文件,它包含以下内容:

<configuration> 
  <startup> 
    <supportedRuntime version="v2.0.50727" sku="Client"/> 
  </startup> 
  <configSections> 
    <section name="modules" type="Microsoft.Practices.Composite.Modularity.ModulesConfigurationSection, Microsoft.Practices.Composite"/> 
  </configSections> 
  <modules> 
    <module assemblyFile="Modules/MyNamespace.Modules.ModuleName.dll" moduleType="MyNamespace.Modules.ModuleName.ModuleClass" moduleName="Name"/> 
  </modules> 
</configuration> 

看来问题出在 元素,因为当我删除它时,应用程序运行良好。我很困惑,因为Visual Studio 2008添加了我选中此框以利用3.5 SP1中可用的“客户端配置文件”的问题。

经过一番摸索之后,我最终得到了一个配置文件,如下所示:
<configuration> 
  <configSections> 
    <section name="modules" type="Microsoft.Practices.Composite.Modularity.ModulesConfigurationSection, Microsoft.Practices.Composite"/> 
  </configSections> 
  <modules> 
    <module assemblyFile="Modules/MyNamespace.Modules.ModuleName.dll" moduleType="MyNamespace.Modules.ModuleName.ModuleClass" moduleName="Name"/> 
  </modules> 
  <startup> 
    <supportedRuntime version="v2.0.50727" sku="Client"/> 
  </startup> 
</configuration> 

哪个有效!

我不确定为什么app.config中的元素顺序很重要-但似乎如此。