2016-04-25 3 views
0

Ich arbeite an einem ziemlich großen Website-Projekt in Visual Studio 2010 und ich frage mich, warum Änderungen im Code widerspiegeln, wenn ich eine Webseite einzeln testen (durch Klicken mit der rechten Maustaste auf die .aspx Datei und wählen View Changes in Browser), obwohl dort sind Fehler im Code, die das Kompilieren verhindern. Das verwirrt mich. Ich erhalte mehrere Fehler, wenn ich den Code in Visual Studio ausführe. Jede Änderung, die ich entweder im clientseitigen Code oder im serverseitigen Code vornimmt, spiegelt sich jedoch wider, wenn ich die Seite nur im Browser anschaue. Dies ist für clientseitigen Code und Markup sinnvoll, aber warum braucht es sogar den "fehlerhaften" Server-Side-Code? Muss der serverseitige Code nicht kompiliert werden? Danke für jede Eingabe. Ich habe noch viele Fragen zu diesem Thema, aber ich hoffe, dass die Antwort auf diese Frage mir hilft, die anderen Fragen zu beantworten, die ich habe.Warum werden Änderungen an Code in einer ASP.NET-Website wiedergegeben, selbst wenn der Code nicht kompiliert wird?

EDIT: Weitere Informationen über die Fehler, die ich bin immer

Ich habe einige weitere Details aus dem ursprünglichen Entwickler zu diesem Projekt zugeordnet gelernt. Er hat mir mitgeteilt, dass er für jedes zusätzliche Feature, das er in das Projekt eingebaut hat, das ursprüngliche Projektverzeichnis kopiert und eingefügt und den Ordner umbenannt hat. Zum Beispiel ist dies das ursprüngliche Projektverzeichnis:

App_Code [Ordner]

App_Data [Ordner]

Web.config [file]

...

Er kopiert diese jedes Mal baute er ein neues "Modul" in die Website ein. Dies ist sicherlich nicht die Art und Weise, wie ich es getan hätte, aber es wurde bereits jetzt gemacht. So wie es aussieht, gibt es 4 Kopien dieses ursprünglichen Projektverzeichnisses, das heißt, es gibt 4 web.config Dateien, 4 und App_Data Ordner (und 4 Kopien der Klassen im Ordner). Die Fehler, die ich bekomme, sind solche wie diese: [server control] is not declared. It may be inaccessible due to its protection level, und [server control] is not a member of [partial class], unter einigen anderen, die intellisense warnen würden, wenn sie tatsächlich Fehler waren. Es scheint, dass aus irgendeinem Grund die Serversteuerelemente auf jeder meiner Webseiten nicht korrekt mit der entsprechenden Code-Behind-Datei verknüpft sind. Aber intellisense hebt diese Fehler nicht hervor oder bestätigt sie in keiner Weise. Ich bekomme diese Fehler, wenn ich versuche, das Projekt zu erstellen. Ich habe versucht, die Designer-Codedatei verfügbar zu machen, um zu versuchen, diese Fehler manuell zu beheben, aber ich habe gelernt, dass Sie das in einem Website-Projekt nicht tun können. Ich bin ehrlich ratlos.

Wenn jemand eine Idee hat, wie das zu beheben ist, lassen Sie es mich bitte wissen. Wenn ich klarer sein kann, bitte sag es mir. Ich kann keinen wirklichen Code einfügen, aber ich kann versuchen, Ihnen ein paar Beispiele zu geben, wenn das helfen würde.

Hier ist eine andere Frage, die mir ähnlich zu sein scheint. Auch die Anzahl der von Visual Studio gemeldeten Fehler ist gleich. variable is not declared it may be inaccessible due to its protection level

+0

Ist der Konfigurationsmanager von Visual Studio so eingestellt, dass die Website-Code-Dateien beim Drücken von F5 kompiliert werden? Ist der Kompilierungsfehler, den Sie in der Datei angeben, an der Sie gerade arbeiten, oder eine andere Datei? – laylarenee

+0

Ich glaube nicht, dass der serverseitige Code aktualisiert wird. Ich meine, wenn der vb.net-Code nicht kompiliert, dann kompiliert es nicht. Nichts hindert Sie daran, den Quellcode zu speichern, aber wenn der Code nicht kompiliert wird, kann er nicht gespeichert werden! - wie Sie merken, wird Markup usw. gespeichert, aber vb.Netzcode kann auch gespeichert werden und wird sicher sein. Wenn ein solcher Servercode jedoch nicht kompiliert wird, wird er nicht kompiliert - diese Tatsache hat SEHR wenig damit zu tun, dass der Code nicht gespeichert wird. Und das einzige Kompilieren, über das wir sprechen, ist vb.net-Code, da alles andere Laufzeit ist. –

+0

@ AlbertD.Kallal stimme ich voll und ganz zu. Ich denke, die Fehler, die ich im Code bekomme, wenn ich versuche, sie zu kompilieren, sind selbst fehlerhaft. Ich weiß nicht warum, aber es besagt, dass alle Serversteuerelemente, die ich auf die Seiten lege, aufgrund ihres Schutzlevels nicht zugänglich sind und der Code daher nicht kompiliert wird. Es funktionierte jedoch einwandfrei, als ich mit der rechten Maustaste klickte und die Seite im Browser anzeigte. Es weigert sich einfach zu laufen. – ic3man7019

Antwort

0

Es stellt sich heraus, dass der ursprüngliche Entwickler Kopien der partiellen Klassendateien erstellt hatte. Sie waren während des gesamten Projekts verstreut, also hatte ich keine Ahnung, dass sie da waren. Nach dem Löschen funktionierte alles wie erwartet.

+0

Tut mir leid, dass ich ein ** Johnny Come Lately ** zu dieser Frage von dir bin, aber ich bin froh, dass du es herausgefunden hast. – jp2code

+0

@ jp2code Vielen Dank. Die Frage von dir, auf die ich mich bezog, war sehr hilfreich, um zu verstehen, was vor sich ging. Ich habe noch einen, wenn du einen Blick darauf werfen willst. :) http://Stackoverflow.com/q/36894814/2465664 – ic3man7019

Verwandte Themen