Wie kann man den Fehler "Datei oder Assembly 'Microsoft.Practices.Prism' konnte nicht geladen werden?" Beheben?

Ich habe in den letzten Tagen nach einem Fehler gesucht, der in einer WPF-Anwendung mit Prism behoben wurde, hatte aber kein Glück und dachte, ich würde sehen, ob Stackoverflow irgendwelche Ideen hat. Bitte beachten Sie, ich bin definitiv ein Neuling, wenn es um Prisma im Allgemeinen geht:)

Ich bin gerade dabei zu lernen, wie man eine Anwendung mit Prism erstellt, wobei Unity mein bevorzugter Abhängigkeits-Injektionscontainer ist. Ich versuche, Module mit einer geänderten App.config-Datei zu laden, aber es wird ein Laufzeitfehler im Zusammenhang mit dem Bootstrapper angezeigt. Die Fehlermeldungen sind genauer als jede andere Erklärung, die ich liefern kann. Daher habe ich die Datei App.config, die Datei App.xaml.cs, in der der Fehler auftritt, und die folgenden Fehlerinformationen hinzugefügt.

Vielen Dank im Voraus für jeden Einblick, den Sie gewähren können, und lassen Sie mich wissen, wenn Sie zusätzliche Informationen benötigen!

BEARBEITE: Dieses Dateiverzeichnis, auf das im Fehler verwiesen wird (C: \ Users \ Roger \ Documents \ TestPrismProject \ WpfApplication1 \ WpfApplication1 \ bin \ Debug \ WpfApplication1.exe.Config, Zeile 4), verweist auf die vierte Zeile der Datei App.config (Abschnittsname) = ...). Alle Tutorials und Referenzen, die ich gefunden habe, sind die gleichen wie die, die ich habe, aber dies ist immer noch die Zeile, die Probleme verursacht, wie es scheint.

EDIT 2: Die Zeile, auf die in der ersten Bearbeitung verwiesen wird, stimmt exakt mit der Zeile auf dem offiziellen @ übereiMicrosoft Prism guide.

EDIT 3: Also habe ich nie herausgefunden, woran das lag, aber in meiner Frustration habe ich das Beispielprojekt, an dem ich gearbeitet habe, neu gestartet und erhalte den Fehler im neuen Projekt nicht. Ich bin mir immer noch nicht sicher, woher das Problem stammt.

EDIT 4: Nur ein Scherz, der gleiche Fehler ist wieder im neuen Programm.

App.config:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="modules" type="Microsoft.Practices.Prism.Modularity.ModulesConfigurationSection, Microsoft.Practices.Prism"/>
  </configSections>

  <modules>
    <module assemblyFile="EmailModule.dll" moduleType="EmailService.ModuleDefinitions.Module, EmailService, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" moduleName="EmailModule" startupLoaded="true" />
  </modules>


  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
  </startup>
</configuration>

App.xaml.cs (Fehler wird in der Zeile "bootstrapper.Run ()" angezeigt):

using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Threading.Tasks;
using System.Windows;

namespace EmailClient
{
    /// <summary>
    /// Interaction logic for App.xaml
    /// </summary>
    public partial class App : Application
    {
        protected override void OnStartup(StartupEventArgs e)
        {
            base.OnStartup(e);

            MyBootstrapper bootstrapper = new MyBootstrapper();
            bootstrapper.Run();
        }
    }
}

Fehlermeldung

System.Configuration.ConfigurationErrorsException wurde nicht behandelt HResult = -2146232062 Message = Beim Erstellen des Konfigurationsabschnittshandlers für Module ist ein Fehler aufgetreten: Datei oder Assembly 'Microsoft.Practices.Prism' oder eine ihrer Abhängigkeiten konnte nicht geladen werden. Die angegebene Datei wurde vom System nicht gefunden. (C: \ Benutzer \ Roger \ Dokumente \ TestPrismProject \ WpfApplication1 \ WpfApplication1 \ bin \ Debug \ WpfApplication1.exe.Config, Zeile 4) Source = System.Configuration BareMessage = Beim Erstellen des Konfigurationsabschnitt-Handlers für Module ist ein Fehler aufgetreten: Die Datei konnte nicht geladen werden oder Assembly 'Microsoft.Practices.Prism' oder eine seiner Abhängigkeiten. Die angegebene Datei wurde vom System nicht gefunden. Dateiname = C: \ Benutzer \ Roger \ Dokumente \ TestPrismProject \ WpfApplication1 \ WpfApplication1 \ bin \ Debug \ WpfApplication1.exe.Config Zeile = 4 StackTrace: at System.Configuration.BaseConfigurationRecord.FindAndEnsureFactoryRecord (String configKey, Bool & amp; .BaseConfigurationRecord.GetSectionRecursive (String configKey, Boolean getLkg, Boolean checkPermission, Boolean getRuntimeObject, Boolean requestIsHere, Object & result, Object & resultRuntimeObject) bei System.Configuration.BaseConfigurationRecord.GetSection (String configConfiguration.Client) bei System .IInternalConfigSystem.GetSection (String sectionName) bei System.Configuration.ConfigurationManager.GetSection (String sectionName) bei Microsoft.Practices.Prism.Modularity.ConfigurationStore.RetrieveModuleConfigurationSection () bei Microsoft.Practices.Prism.Modularity.CulesDisc .Praktiken.Prisma.Modularität.Kon figurationModuleCatalog.InnerLoad () bei Microsoft.Practices.Prism.Modularity.ModuleCatalog.Load () bei Microsoft.Practices.Prism.Modularity.ModuleCatalog.Initialize () bei Microsoft.Practices.Prism.Modularity.ModuleManager.Run () bei Microsoft. Practices.Prism.UnityExtensions.UnityBootstrapper.InitializeModules () bei Microsoft.Practices.Prism.UnityExtensions.UnityBootstrapper.Run (Boolean runWithDefaultConfiguration) bei Microsoft.Practices.Prism.Bootstrapper.Run () bei EmailClient.StartApp () c: \ Benutzer \ Roger \ Dokumente \ TestPrismProject \ WpfApplication1 \ WpfApplication1 \ App.xaml.cs: Zeile 21 unter System.Windows.Application. <. ctor> b__1 (Objekt nicht verwendet) unter System.Windows.Threading.ExceptionWrapper.InternalRealCall ( Rückruf delegieren, Object args, Int32 numArgs) bei MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen (Objektquelle, Delegate-Methode, Object args, Int32 numArgs, Delegate catchHandler) bei System.Windows.Threading.DispatcherOperation.InvokeImpl () bei System. Windows.Threadi ng.DispatcherOperation.InvokeInSecurityContext (Objektstatus) bei System.Threading.ExecutionContext.RunInternal (ExecutionContext executionContext, ContextCallback callback, Objektstatus, Boolean preserveSyncCtx) bei System.Threading.ExecutionContext.Run (ExecutionContext executionContext ) bei System.Threading.ExecutionContext.Run (ExecutionContext executionContext, ContextCallback-Rückruf, Objektstatus) bei System.Windows.Threading.DispatcherOperation.Invoke () bei System.Windows.Threading.Dispatcher.ProcessQueue () bei System.Windows.Threading. Dispatcher. DispatcherCallbackOperation (Object o) bei System.Windows.Threading.ExceptionWrapper.InternalRealCall (Rückruf von Delegaten, Object args, Int32 numArgs) bei MS.Internal.Threadin g.ExceptionFilterHelper.TryCatchWhen (Objektquelle, Delegatmethode, Objektargumente, Int32-Nummern, Delegat catchHandler) bei System.Windows.Threading.Dispatcher.LegacyInvokeImpl (DispatcherPriority-Priorität, TimeSpan-Zeitlimit, Delegatmethode, Objektargumente, Int32-Nummern MS) bei Win32.HwndSubclass.SubclassWndProc (IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam) bei MS.Win32.UnsafeNativeMethods.DispatchMessage (MSG & msg) bei System.Windows.Threading.Dispatcher.PushFrameImplow .Dispatcher.PushFrame (DispatcherFrame-Frame) bei System.Windows.Threading.Dispatcher.Run () bei System.Windows.Application.RunDispatcher (Objekt ignorieren) bei System.Windows.Application.RunInternal (Fensterfenster) bei System.Windows.Application .Run (Fensterfenster) bei System.Windows.Application.Run () bei EmailClient.App.Main () in c: \ Users \ Roger \ Documents \ TestPrismProject \ WpfApplication1 \ WpfApplication1 \ obj \ Debug \ App.g.cs: Zeile 50 InnerException: System.IO.FileNotFoundException HResult = -2147024894 Message = Datei oder Assembly 'Microsoft.Practices.Prism' oder eine ihrer Abhängigkeiten konnte nicht geladen werden. Die angegebene Datei wurde vom System nicht gefunden. Source = System.Configuration FileName = Microsoft.Practices.Prism FusionLog ==== Statusinformationen vor dem Binden === LOG: DisplayName = Microsoft.Practices.Prism (teilweise) WRN: Für eine Assembly wurden teilweise Bindungsinformationen bereitgestellt: WRN: Assemblyname: Microsoft.Practices.Prism | Domänen-ID: 1 WRN: Eine teilweise Bindung tritt auf, wenn nur ein Teil des Anzeigenamens der Assembly angegeben wird. WRN: Dies kann dazu führen, dass die Sammelmappe eine falsche Baugruppe lädt. WRN: Es wird empfohlen, eine vollständig angegebene Textidentität für die Assembly bereitzustellen. WRN: Diese besteht aus dem einfachen Namen, der Version, der Kultur und dem Token für den öffentlichen Schlüssel. WRN: Siehe Whitepaperhttp: //go.microsoft.com/fwlink/? LinkId = 109270 für weitere Informationen und allgemeine Lösungen zu diesem Problem. LOG: Appbase = Datei: /// C: / Users / Roger / Documents / TestPrismProject / WpfApplication1 / WpfApplication1 / bin / Debug / LOG: Anfänglicher PrivatePath = NULL Aufruf der Assembly: System.Configuration, Version = 4.0.0.0, Culture = neutral , PublicKeyToken = b03f5f7f11d50a3a. LOG: Diese Bindung startet im Standardladekontext. LOG: Verwenden der Anwendungskonfigurationsdatei: C: \ Users \ Roger \ Documents \ TestPrismProject \ WpfApplication1 \ WpfApplication1 \ bin \ Debug \ WpfApplication1.exe.Config LOG: Verwenden der Hostkonfigurationsdatei: LOG: Verwenden der Maschinenkonfigurationsdatei von C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ config \ machine.config. LOG: Richtlinie wird derzeit nicht auf Verweise angewendet (private, benutzerdefinierte, partielle oder standortbasierte Assemblybindung). LOG: Es wird versucht, eine neue URL-Datei herunterzuladen: /// C: /Users/Roger/Documents/TestPrismProject/WpfApplication1/WpfApplication1/bin/Debug/Microsoft.Practices.Prism.DLL. LOG: Versuch, eine neue URL-Datei herunterzuladen: /// C: /Users/Roger/Documents/TestPrismProject/WpfApplication1/WpfApplication1/bin/Debug/Microsoft.Practices.Prism/Microsoft.Practices.Prism.DLL. LOG: Versuch, eine neue URL-Datei herunterzuladen: /// C: /Users/Roger/Documents/TestPrismProject/WpfApplication1/WpfApplication1/bin/Debug/Microsoft.Practices.Prism.EXE. LOG: Versuch, eine neue URL-Datei herunterzuladen: /// C: /Users/Roger/Documents/TestPrismProject/WpfApplication1/WpfApplication1/bin/Debug/Microsoft.Practices.Prism/Microsoft.Practices.Prism.EXE

   StackTrace:
        at System.Configuration.TypeUtil.GetTypeWithReflectionPermission(IInternalConfigHost host, String typeString, Boolean throwOnError)
        at System.Configuration.RuntimeConfigurationRecord.RuntimeConfigurationFactory.Init(RuntimeConfigurationRecord configRecord, FactoryRecord factoryRecord)
        at System.Configuration.RuntimeConfigurationRecord.RuntimeConfigurationFactory.InitWithRestrictedPermissions(RuntimeConfigurationRecord configRecord, FactoryRecord factoryRecord)
        at System.Configuration.RuntimeConfigurationRecord.CreateSectionFactory(FactoryRecord factoryRecord)
        at System.Configuration.BaseConfigurationRecord.FindAndEnsureFactoryRecord(String configKey, Boolean& isRootDeclaredHere)
   InnerException: 

Antworten auf die Frage(14)

Ihre Antwort auf die Frage