Jetzt beschäftige ich mich mit der dreischichtigen Entwicklung unter Verwendung von ASP und VB6.0, aber jetzt habe ich Schwierigkeiten, eine geeignete Methode zum Debuggen der von mir geschriebenen DLL-Dateien zu finden, und die Effizienz ist recht gering.
Ich habe mehrere Methoden verwendet:
1. Wählen Sie „In IIS deinstallieren“ und kompilieren Sie dann mit VB neu, um die ursprüngliche DLL zu überschreiben.
2. Wählen Sie eine Site aus, die Sie in IIS debuggen, stoppen Sie sie, kompilieren und überschreiben Sie sie, starten Sie sie und aktualisieren Sie dann die Seite im IE.
3. Führen Sie den Dateinamen „Regsvr32.exe -u“ in der Befehlszeile aus und kompilieren, überschreiben und aktualisieren Sie ihn.
Die oben beschriebene Methode funktioniert jedoch nicht immer, wenn ich Frontpage zum Erstellen von ASP-Seiten verwende. Es wird immer gemeldet, dass die DLL-Datei gesperrt ist und der Fehler „Kann nicht überschreiben“ vorliegt. Manchmal funktioniert das Ausschalten von InterDev (oder einfach das Schließen aller darin bearbeiteten Dateien), aber nicht immer.
Ich möchte InterDev für die Entwicklung verwenden, was bequemer ist, aber ich kann keinen besseren Weg finden.
Dieses Problem beschäftigt mich schon lange. Ich glaube, jeder, der Komponenten entwickelt, ist darüber verwirrt
. -------------- --- --------------------------------
Ich habe heute Nachmittag die folgende Methode ausprobiert. Ich weiß nicht, ob sie alle zum Lachen bringt, aber ich habe das Problem den ganzen Nachmittag über gelöst. Ich verwende jedoch die .NET-Entwicklungsumgebung folgt:
1. Installieren Sie .NET. Dies verbraucht natürlich viele Systemressourcen. Nach der Installation läuft ein normaler Computer möglicherweise sehr langsam. (Später habe ich herausgefunden, dass es auch unter Frontpage und Interdev implementiert werden kann, haha. Beschweren Sie sich nicht, ich habe aufgrund meiner Worte ein .net installiert, aber festgestellt, dass es wenig nützt, aber nachdem ich es verwendet habe, habe ich mich verliebt damit.)
2. Erstellen Sie einen Ordner zum Speichern der DLL. Dann kommt unser „hervorragendster“ Teil heraus: Erstellen Sie mehrere leere Unterordner unter diesem Ordner und benennen Sie sie von 01 bis zum gewünschten Wert.
3. Starten Sie den IIS-Manager
4. Öffnen Sie Ihr Projekt in VB6
5. Wenn Sie nun debuggen möchten, können Sie direkt kompilieren und dann einen im zweiten Schritt erstellten Ordner beliebig angeben. Ich denke, es ist besser, bei 01 zu beginnen.
Aktualisieren Sie die ASP-Seite, die Sie zum Debuggen verwenden. Wird sie angezeigt? Der Inhalt ist bereits die neue DLL-Datei, die Sie geschrieben haben.
Das Obige ist nur das erste Debugging nach dem Booten. Ich habe während des Debugging-Prozesses viele Fehler gefunden. Bin ich immer so nachlässig? Haha, ich hoffe, dir geht es nicht so :)
Jetzt muss ich die DLL ändern und neu kompilieren. Sie werden feststellen, dass Sie die DLL jetzt nicht überschreiben können, da Sie diese Komponente bereits auf der Seite aufgerufen haben und sie im Speicher abgelegt wurde -geschützt. Sie müssen Ihre Site im IIS-Manager stoppen. Wenn Sie .net verwenden, werden Sie feststellen, dass dies machbar ist, aber andere Entwicklungsumgebungen sind möglicherweise nicht die gleichen, wie Sie denken. Jetzt richten Sie diese Ordner ein Arbeit, finde eine davon (es sollte 02 sein...) und füge die neue DLL hier ein. Starten Sie dann die Site (lassen Sie sie nicht neu starten, sie ist zu langsam. Der einfachste Weg, die oben genannten Schritte auszuführen, besteht darin, Ihre Site in IIS auszuwählen, █ in der oberen Ecke und dann ▼ zu drücken) (Ich habe ▼ nicht gefunden , du kannst nur folgen ▼
Wie wäre es, wenn
der Stundenzeiger um 30 Grad gedreht wird, um ^_^) anzuzeigen ?
Ist das Problem gelöst?
Ich empfehle die Verwendung von .net, da Sie damit keine Referenzen wie bei interdev erstellen müssen. Sie müssen lediglich die Seite mit der Erweiterung ASP direkt schreiben und dann die Methode server.createobject("") verwenden, um jedes Objekt abzurufen im Code werden automatisch die Methoden und Attribute der Klassen in der neuesten DLL angezeigt, die Sie gerade kompiliert haben.
Wenn Sie Codeinsight nicht verwenden möchten, ist Frontpage meiner Meinung nach auch ein gutes Tool.
Ist meine Methode dumm?
Ich verwende weder VB.net noch C#, da meine derzeitige Aufgabe darin besteht, Code zu kapseln, anstatt ein Projekt neu zu erstellen. Angesichts des Syntaxunterschieds zwischen vbscript und .net wähle ich immer noch diese dumme Methode, und ich denke, dass das Schreiben DLL in VB wäre vielleicht besser, oder?