Wir haben vor kurzem ein Upgrade von VS2008 auf VS2010 durchgeführt.
Unser Projekt lässt sich gut kompilieren, aber wenn wir die Webanwendung ausführen wollen, erhalten wir beim Öffnen der Datei Default.aspx folgende Fehlermeldung:
Serverfehler in der Anwendung '/'. Kompilierungsfehler Beschreibung: Ein Fehler trat während der Kompilierung einer Ressource, die zur Bearbeitung dieser Anfrage. Bitte überprüfen Sie die folgenden spezifischen Fehlerdetails und ändern Sie Ihren Quellcode entsprechend.
Compiler-Fehlermeldung: CS0246: Der Typ oder Namespace-Name 'var' konnte nicht gefunden werden (fehlt Ihnen eine using Anweisung oder eine Assembly-Referenz?)
Wenn Sie die Seite öffnen und mit der Maus über die "var"-Deklaration fahren, erkennt VS2010 korrekt, dass es sich bei dem Typ um eine RegEx handelt.
Ich denke, dass während des Upgrades entweder in der web.config oder in der machine.config etwas Merkwürdiges passiert sein könnte.
Ist noch jemandem dieses Problem schon einmal untergekommen? Jede Hilfe würde sehr geschätzt werden, hoffentlich kann es mir einige Zeit Tauchen in diesen Dateien zu speichern.
EDIT: Hier ist der relevante Abschnitt des Codes, der sich aufbläht:
Line 10: protected void valSearchFreeText_ServerValidate(object source, ServerValidateEventArgs args)
Line 11: {
Line 12: var url = new Regex(@"http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?", RegexOptions.IgnoreCase);
Line 13: var html = new Regex(@"[<,>]", RegexOptions.IgnoreCase);
Line 14: args.IsValid = !html.IsMatch(args.Value) && !url.IsMatch(args.Value);
Ich glaube nicht, dass .NET 4.0 die Ursache ist; wir haben nur von VS2008 auf VS2010 aktualisiert; wir haben nicht von .NET 3.5 auf .NET 4.0 migriert
Ich werde den ASP.NET Development Server im Vergleich zu IIS noch einmal überprüfen und die Ergebnisse in ein paar Minuten nachreichen. Es ist definitiv aus dem Development Server geworfen werden.
Bearbeiten 2 Dies wird sowohl vom Entwicklungsserver als auch von IIS ausgelöst. System.Xml.Linq ist auch im Abschnitt assemblies unserer web.config enthalten:
<add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
0 Stimmen
Erhalten Sie dieses Problem, wenn Sie die Webanwendung auf dem IIS- oder Entwicklungsserver ausführen?
0 Stimmen
Bitte zeigen Sie die entsprechenden Abschnitte des Codes, damit wir "var" im Kontext sehen können.
0 Stimmen
Sie haben doch die Anweisung "using System.Linq", oder?