nexder
Goto Top

IIS 10 ASP Parserfehler auf Windows 10

Hallo,

ich entwickle aktuell Privat einen WebService und will ihn testweise auf einem Notebook hosten (Keine Kommentare hierfür bitte ;) )

Auf meinem Entwicklungssystem läuft der Service problemlos auf dem IIS.
Sobald ich ihn auf meinem "Server" veröffentliche bekomme ich folgende Fehlermeldung:

Serverfehler in der Anwendung /.
Parserfehler
Beschreibung: Fehler beim Verarbeiten einer Resource, die für diese Anforderung erforderlich ist. Überprüfen Sie folgende Fehlerinformationen und ändern Sie die Quelldatei entsprechend.

Parserfehlermeldung: Der Typ "MeinTV.WebApiApplication" konnte nicht geladen werden.  

Quellfehler:


Zeile 1:  <%@ Application Codebehind="Global.asax.cs" Inherits="MeinTV.WebApiApplication" Language="C#" %>  


Quelldatei: /global.asax    Zeile: 1

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


Die bisherigen Tipps von wegen Namespace Überprüfen, etc. kann ich ausschließen, da er wie gesagt auf dem Entwicklungssystem läuft.
Testweise habe ich auf dem "Server" VS installiert und dort läuft die Seite auch im Debug.
Das fertige Template von VS bringt den gleichen Fehler.

Der IIS wurde auf beiden System identisch installiert.

Viele Grüße

Content-ID: 327192

Url: https://administrator.de/contentid/327192

Ausgedruckt am: 26.11.2024 um 05:11 Uhr

tomolpi
tomolpi 22.01.2017 um 15:24:11 Uhr
Goto Top
Tag,

und dein IIS verwendet auch die gleiche .NET Framework Version wie VS?

LG,

tomolpi
Nexder
Nexder 22.01.2017 um 16:04:35 Uhr
Goto Top
Ich habe bisher mit ASP und dem IIS nicht viel Erfahrung, komme aus dem WPF Bereich.
Ich denke auch, dass es mit der Version zu tun hat, habe aber bisher noch nicht ganz nachvollziehen können woran ich die Versionsunterschiede (.NET und ASP) erkenne.


Die Anwendung ist via VS für .NET 4.5 erstellt. (welche ASP Version wird dann verwendet? Ist die an die .NET Version gekoppelt?)
Das habe ich aber erst zuletzt umgestellt. Läuft Sie mit 4.6 tritt der gleiche Fehler auf.

Den Pool für die Anwendung habe ich auf Default gelassen und steht auf der NET CLR Version: 4.0.30319.
Im Fehler steht, dass die ASP Version 4.6 verwendet wird. Auch hier ist mir nicht klar, wo ich das umstellen kann/könnte.
Nexder
Nexder 23.01.2017 um 09:59:35 Uhr
Goto Top
Das Problem kann doch nicht so viele Ursachen haben.
Gibt es denn wenigstens seitens IIS ein Fehlerlog, über das man eine brauchbare Fehlermeldung findet?
131381
131381 23.01.2017 aktualisiert um 10:10:58 Uhr
Goto Top
Wahrscheinlich beim Publishing einfach einen Fehler bei der URL gemacht ...
http://stackoverflow.com/questions/5818983/how-to-publish-a-web-service ...

Gruß mik
Nexder
Nexder 23.01.2017 um 10:48:58 Uhr
Goto Top
Ich habe es bisher per Dateisystem veröffentlicht.
Mittlerweile habe ich auf dem Server auch VS installiert.
Weder ein publish direkt auf den lokal erkannten IIS funktioniert, noch ein händisches kopieren.

Auch ein manuelles kopieren der Dateien vom funktionierenden IIS des Entwicklungssystems auf den Server klappt nicht.
Ergebnis ist immer wieder die oben genannte Fehlermeldung.
Meine Schritte zum Veröffentlichen unterscheiden sich nicht zu dem von dir genannten Link.
131381
131381 23.01.2017 aktualisiert um 11:01:26 Uhr
Goto Top
Nexder
Nexder 23.01.2017 aktualisiert um 16:54:48 Uhr
Goto Top
Das Problem ist insofern gelöst, als dass ich für den Server explizit in der web.config angeben muss, dass er die DLLs aus dem Bin Verzeichnis laden soll.

<configuration>
   <runtime>   
      <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">  
         <probing privatePath="bin;"/>  
      </assemblyBinding>
   </runtime>   
</configuration>

Nach wie vor ist für mich aber nicht klar, wieso es auf meinem lokalen IIS auch ohne diese Angabe funktioniert, bzw. wieso der IIS auf dem Server das nicht macht.

EDIT:
Die vorgenommenen Änderungen haben sich überschnitten. Sodass ich gerade festgestellt habe, dass es doch nicht am bin Verzeichnis lag.
Gelöst hat das Problem das aktivieren der "32bit Anwendung" für den ausgewählten Anwendungspool.
131381
131381 23.01.2017 um 17:38:46 Uhr
Goto Top
Gelöst hat das Problem das aktivieren der "32bit Anwendung" für den ausgewählten Anwendungspool.
Steht ja in den Links face-wink
Nexder
Nexder 23.01.2017 um 19:36:17 Uhr
Goto Top
Hi mik,

Ich bin dir für deine Hilfestellung sehr dankbar.
Dennoch finde ich (auch nachträglich) in deinen Links keinerlei Hinweise darauf, dass im IIS der Anwendungspool für 32-Bit Anwendung aktiviert werden muss.

Es wurde oft darüber diskutiert, dass VS beim Build für x86 den Outputpath ändert, was aber nichts mit meinem Problem zu tun hatte.

Viele Grüße
atze187
atze187 24.01.2017 um 12:34:00 Uhr
Goto Top
32 Bit muss dann aktiviert werden wenn ein Bestandteil deiner Anwendung explizit für 32 Bit kompiliert wurde.