"Die Datei wurde nicht vorkompiliert und kann nicht angefordert werden"

8

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?

    
Frode Lillerud 28.05.2009, 08:38
quelle

7 Antworten

1

Das Problem wurde durch Installieren von "Microsoft Web Service Enhancements v3.0" behoben.

Es kann hier heruntergeladen werden: Ссылка

    
Frode Lillerud 28.05.2009, 21:40
quelle
2

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.

    
Dan Bailiff 02.08.2010 21:50
quelle
1

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!

    
Quarkman 09.09.2011 15:45
quelle
0

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.

    
bounav 07.02.2011 10:32
quelle
0

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.

    
user432578 08.06.2011 01:37
quelle
0

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.

    
BigBlackHoss 23.01.2015 19:21
quelle
0

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.

    
Jason Vercellone 15.11.2016 17:41
quelle

Tags und Links