Ich habe eine Reihe von Standard-Webdiensten auf einem Windows 2003, IIS 6-Server installiert. Wenn ich über meinen Browser auf einen der Webservices zugreife, bekomme ich einen gelben .NET-Bildschirm mit der Ausnahme:
Die Datei '/SuperOfficeWebService/Contact.asmx' wurde nicht vorkompiliert und kann nicht angefordert werden.
Die gleichen Standard-Webdienste (installiert über eine .msi) funktionieren auf anderen Maschinen.
Die .asmx-Dateien enthalten wie erwartet nur den Text "Dies ist eine vom Precompilation-Tool generierte und nicht gelöschte Markierdatei!".
Im bin \ Unterordner habe ich die .compiled Dateien, die den .asmx Dateien entsprechen.
Was könnte die Fehlermeldung verursachen? Alle IIS-Einstellungen oder .NET 2.0-Einstellungen, die verhindern, dass IIS die kompilierten Dateien lädt?
Das Problem wurde durch Installieren von "Microsoft Web Service Enhancements v3.0" behoben.
Es kann hier heruntergeladen werden: Ссылка
Falls noch jemand nach einer Lösung sucht, hatte ich das gleiche Problem. Mein Problem war, dass ich 'aspnet_compiler' aus dem falschen Framework-Ordner verwendete. Mein Projekt wurde in VS'05 und .net 2.0 erstellt. Ich habe versucht, von "c: \ windows \ Microsoft .NET \ Framework \ v4.xxxx" vorzukompilieren, wenn ich von "c: ... \ v2.xxxx" vorkompilieren musste.
Ich hoffe, dass es jemandem hilft.
Ich hatte dieselbe Nachricht, aber keinen Webservice. In meinem Fall war es eine Vanilla ASP.NET 2.0 Web App, die zufällig AJAX Control Toolkit v1.0.61025 verwendet. Als ich es ausfindig gemacht habe, habe ich festgestellt, dass meine Umgebung (VS oder eines meiner Addons) zwei Elemente aus meiner web.config entfernt hat:
"assemblies" Tag fehlte zwei Zeilen:
%Vor%Es fehlten auch diese Zeilen aus dem Abschnitt "system.web":
%Vor%Ich mache XCOPY-Deployment und verwende web.config, um die Unterschiede zwischen Entwicklung und Live (Verbindungszeichenfolge usw.) zu kontrollieren. Nach dem Veröffentlichen in VS (in einen Ordner in meinem Entwicklerfeld) lösche ich web.config (da es meine Dev-Einstellungen hat) und benutze einfach die gleiche web.config in Live. Da die live web.config diese fehlenden Zeilen hatte, kompilierte ich mit einer web.config, die sich um mehr als nur ein paar App-Schlüsselwerte unterschied.
Das Wiederherstellen dieser Zeilen in meiner Entwicklungsumgebung und die erneute Veröffentlichung haben das Problem behoben. Whoa, sie sind gerade wieder von meinem VS 2010 verschwunden, ich melde lieber eine Frage!
Ich hatte das gleiche Problem und habe es behoben, indem ich den folgenden Befehl ausgeführt habe, um den richtigen Compiler mit IIS neu zuzuordnen.
Gehen Sie zu dem Ordner der Version von .NET, die Sie verwenden möchten (zB: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727
)
Und renne: aspnet_regiis -i
Hoffe, das hilft.
Wenn dieses Problem beim Ausführen eines MSBuild-Skripts auftritt, besteht die Wahrscheinlichkeit, dass es sich bei Ihrem Projekt um ein 2.0- oder 3.5-Projekt handelt und MSBuild den 4.0-Compiler verwendet. Füge TargetFrameworkMoniker="3.5"
zu deinen AspNetCompiler
Direktiven hinzu.
In unserem Fall hatten wir diese Nachricht, nachdem wir die Site neu erstellt hatten. Die Dateien auf der Website mussten mit .NET 4.0.3 kompiliert werden, und der IIS-Standardwert war 2.0.5. Wir mussten die ASP.NET-Version in Site & gt; Eigenschaften & gt; ASP.NET.
Bin, das Microsoft.WebServices3.dll 3.0.5305.0 bereitstellt, funktionierte für mich auf Windows Server 2012 R2 mit .Net Framework 4.5+. Diese Option erleichtert die Installation von .Net Framework 3.5 und WSE 3.0.
Tags und Links iis exception web-services