' System.Configuration.ConfigurationErrorsException'在Prism 6 WPF应用程序启动时抛出System.Configuration.dll

时间:2016-02-20 07:42:13

标签: c# wpf prism

当我使用Unity的Prism 6模块化WPF应用程序启动时,System&System.ConfigurationErrorsException'在System.Configuration.dll中抛出。这个例外是宣布"' Prism.Modularity.ModulesConfigurationSection'来自' Prism'装配无法加载"并且它在App.config文件中调用UnityBootstrapper.Run方法时抛出。 下面是例外的屏幕截图(我有MSVS 2015 russified)

enter image description here

以下是我的应用程序的Bootstrapper类:

class Bootstrapper : UnityBootstrapper
{
    protected override DependencyObject CreateShell()
    {
        return Container.Resolve<MainWindow>();
    }

    protected override void InitializeShell()
    {
        Application.Current.MainWindow.Show();
    }

    protected override IModuleCatalog CreateModuleCatalog()
    {
        return new ConfigurationModuleCatalog();
    }
}

我在解决方案主项目的App.config文件中注册所有模块。请见下文:

<?xml version="1.0" encoding="utf-8" ?>
    <configuration>
        <configSections>
            <section name="modules" type="Prism.Modularity.ModulesConfigurationSection, Prism"/>
        </configSections>
        <modules>
            <module assemblyFile="Authorization.dll" moduleType="Authorization.AuthorizationModule, Authorization, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" moduleName="AuthorizationModule" startupLoaded="true" />
            <module assemblyFile="Calibration.dll" moduleType="Calibration.CalibrationModule, Calibration, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" moduleName="CalibrationModule" startupLoaded="true" />
        </modules>
        <startup>
            <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
        </startup>
    </configuration>

主要项目是使用Prism Template Pack作为Prism Unity App创建的,每个模块都是使用Prism Template Pack作为Prism模块创建的。当我的应用程序启动然后在短时间(大约1秒)时,将显示应用程序主窗口,并在抛出上述异常之后。在我的应用程序中,我应该更正哪些消除错误?请帮忙。

2 个答案:

答案 0 :(得分:1)

我在一个项目中有同样的错误。程序尝试访问settings.settings时,抛出System.Configuration.ConfigurationErrorsException。

我已经解决了这个问题,这要归功于StepUp的回答。 即使在另一个项目上发生错误,我也只能在解决方案的启动项目上执行此操作。

答案 1 :(得分:0)

我遇到的原因之一是App.config文件的构建操作未设置为&#34;资源&#34;。尝试将App.config个文件&#39; Build Action设置为&#34;资源&#34; 。 (右键单击App.config文件并查看属性,请参阅Build Section)。