Web Reporting Sample

Hallo,

unsere WEB Anwendung macht was wir wollen, so lange sie auf den Entwichlungs-Rechner läuft (aus VS 2019 heraus und auch als Browseraufruf).
Ein Fehler tritt auf wenn die App von einem anderen Rechner aus aufgerufen wird :. Die Apps sind als x86 kompiliert, da sonst eine “cxll18.dll” nicht gefunden wird.
Das selbe läßt sich mit dem Web Reporting Sample schön nachvollziehen, hier der Output:
Serverfehler in der Anwendung /.
Die Datei oder Assembly “Web Reporting Sample” oder eine Abhängigkeit davon wurde nicht gefunden. Es wurde versucht, eine Datei mit einem falschen Format zu laden.
Beschreibung: Unbehandelte Ausnahme beim Ausführen der aktuellen Webanforderung. Überprüfen Sie die Stapelüberwachung, um weitere Informationen über diesen Fehler anzuzeigen und festzustellen, wo der Fehler im Code verursacht wurde.

Ausnahmedetails: System.BadImageFormatException: Die Datei oder Assembly "Web Reporting Sample" oder eine Abhängigkeit davon wurde nicht gefunden. Es wurde versucht, eine Datei mit einem falschen Format zu laden.

Quellfehler:

Beim Ausführen der aktuellen Webanforderung wurde einen unbehandelte Ausnahme generiert. Informationen über den Ursprung und die Position der Ausnahme können mit der Ausnahmestapelüberwachung angezeigt werden.

Überwachung beim Laden der Assembly: Mit folgenden Informationen kann bestimmt werden, warum die Assembly Web Reporting Sample nicht geladen werden konnte.


=== Zustandsinformationen vor Bindung ===
LOG: DisplayName = Web Reporting Sample
 (Partial)
WRN: Für eine Assembly wurden partielle Bindungsinformationen bereitgestellt:
WRN: Assemblyname: Web Reporting Sample | Domänen-ID: 4
WRN: Eine partielle Bindung tritt auf, wenn nur ein Teil des Assemblyanzeigenamens bereitgestellt wird.
WRN: Dies führt möglicherweise dazu, dass die Sammelmappe eine falsche Assembly lädt.
WRN: Geben Sie die Textidentität der Assembly mit allen Einzelheiten an. 
WRN: Dazu gehören der einfache Name, die Version und Kultur und das öffentliche Schlüsseltoken.
WRN: Weitere Informationen und allgemeine Lösungen für dieses Problem finden Sie im Whitepaper unter "das war ein Link".
LOG: Appbase = file:///C:/Program Files (x86)/combit/LL18/Programmierbare Beispiele und Deklarationen/Microsoft .NET/ASP.NET/C# Web Reporting Sample/
LOG: Ursprünglicher PrivatePath = C:\Program Files (x86)\combit\LL18\Programmierbare Beispiele und Deklarationen\Microsoft .NET\ASP.NET\C# Web Reporting Sample\bin
Aufruf von Assembly : (Unknown).
===
LOG: Diese Bindung startet im default-Load-Kontext.
LOG: Die Anwendungskonfigurationsdatei wird verwendet: C:\Program Files (x86)\combit\LL18\Programmierbare Beispiele und Deklarationen\Microsoft .NET\ASP.NET\C# Web Reporting Sample\web.config
LOG: Die Hostkonfigurationsdatei wird verwendet: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet.config
LOG: Die Computerkonfigurationsdatei von C:\Windows\Microsoft.NET\Framework64\v4.0.30319\config\machine.config wird verwendet.
LOG: Die Richtlinie wird derzeit nicht auf den Verweis angewendet (private, benutzerdefinierte, teilweise oder pfadbasierte Assemblybindung)
LOG: Download von neuem URL file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/Temporary ASP.NET Files/root/9e938534/e835c58a/Web Reporting Sample.DLL.
LOG: Download von neuem URL file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/Temporary ASP.NET Files/root/9e938534/e835c58a/Web Reporting Sample/Web Reporting Sample.DLL.
LOG: Download von neuem URL file:///C:/Program Files (x86)/combit/LL18/Programmierbare Beispiele und Deklarationen/Microsoft .NET/ASP.NET/C# Web Reporting Sample/bin/Web Reporting Sample.DLL.
ERR: Das Setup der Assembly konnte nicht abgeschlossen werden (hr = 0x8007000b). Die Suche wurde beendet.


Stapelüberwachung:


[BadImageFormatException: Die Datei oder Assembly "Web Reporting Sample" oder eine Abhängigkeit davon wurde nicht gefunden. Es wurde versucht, eine Datei mit einem falschen Format zu laden.]
   System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) +0
   System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) +232
   System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean forIntrospection) +113
   System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection) +23
   System.Reflection.Assembly.Load(String assemblyString) +35
   System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +49

[ConfigurationErrorsException: Die Datei oder Assembly "Web Reporting Sample" oder eine Abhängigkeit davon wurde nicht gefunden. Es wurde versucht, eine Datei mit einem falschen Format zu laden.]
   System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +762
   System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory() +259
   System.Web.Configuration.CompilationSection.LoadAssembly(AssemblyInfo ai) +167
   System.Web.Compilation.BuildManager.GetReferencedAssemblies(CompilationSection compConfig) +238
   System.Web.Compilation.BuildManager.GetPreStartInitMethodsFromReferencedAssemblies() +78
   System.Web.Compilation.BuildManager.CallPreStartInitMethods(String preStartInitListPath, Boolean& isRefAssemblyLoaded) +334
   System.Web.Compilation.BuildManager.ExecutePreAppStart() +178
   System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters, PolicyLevel policyLevel, Exception appDomainCreationException) +746

[HttpException (0x80004005): Die Datei oder Assembly "Web Reporting Sample" oder eine Abhängigkeit davon wurde nicht gefunden. Es wurde versucht, eine Datei mit einem falschen Format zu laden.]
   System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +552
   System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +122
   System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +737


Versionsinformationen: Microsoft .NET Framework-Version:4.0.30319; ASP.NET-Version:4.8.4075.0

BadImageFormat Exception und “Die Datei oder Assembly “Web Reporting Sample” oder eine Abhängigkeit davon wurde nicht gefunden. Es wurde versucht, eine Datei mit einem falschen Format zu laden.” sind meist ein Indiz dafür, dass die Bitness zwischen Anwendung, IIS (AppPool) und Assemblies/DLLs nicht zusammen passen.

Auf dem IIS muss eingestellt werden, wie der IIS den AppPool für die Anwendung ausführen soll:

Dann müssen für LL aber noch die richtigen DLLs verwendet werden - eben alle x86. Es darf dann dabei keine x64 versehentlich enthalten sein, sonst wird ggf. schon falsch geladen. In der redist.txt sollten alle x84-Files aufgelistet sein. Da sollte man vielleicht noch einmal akribisch schauen.

1 Like