In der .NET-Entwicklung sehen wir häufig diese Dateitypen im bin-Verzeichnis:
.pdb, .xsd, .vshost.exe, .exe, .exe.config, .vshost .exe. config
Wenn das Projekt veröffentlicht wird, ist oft unklar, welche benötigt werden und welche nicht. Wofür genau werden Dateien in diesen Formaten verwendet?
pdb
.pdb-Datei ist eine von VS zum Debuggen generierte Symboldatei (Programm). Datenbank), die Debugging-Informationen speichert. Legen Sie in den Projekteigenschaften von VS, C/C++, Debug-Informationsformat /Zi fest, dann erstellt VS beim Erstellen des Projekts eine PDB-Datei.
Hier müssen zwei Situationen unterschieden werden:
1. Beim Erstellen einer statischen Bibliothek können Sie die Projekteigenschaften -> Ausgabedatei -> festlegen Name Legen Sie den Namen der generierten PDF-Datei fest. Wenn nicht angegeben, wird sie standardmäßig als VCx0.pdb generiert, wobei x die VS-Versionsnummer ist. Wenn Sie beispielsweise VS2005 verwenden, wird VC80.pdb generiert. Es wird hier geboren Ich habe eine Frage. Die Namen der beim Kompilieren einer statischen Bibliothek standardmäßig generierten .pdb-Dateien sind alle gleich. Kann das Projekt, das auf diese statische Bibliothek verweist, endlich die richtige .pdb-Datei finden? Die Antwort lautet „Ja“, da VS es in die generierte Datei einbettet Der Pfad zur .pdb-Datei.
Zum Beispiel wird unter Project/ToolA eine statische Bibliothek ToolA.lib erstellt, entsprechend wird eine vc80.pdb generiert, ebenfalls in Project Unter /ToolB wird eine statische Bibliothek ToolB.lib erstellt, entsprechend der eine vc80.pdb generiert wird. Anschließend verknüpft das endgültige Projekt Work.exe diese beiden statischen Bibliotheken gleichzeitig Wenn es zu Work.pdb wird, werden die entsprechenden Symboldateipfade Project/ToolA/vc80.pdb und ToolB.lib in ToolA.lib gefunden. Der entsprechende Symboldateipfad Project/ToolB/vc80.pdb wird zusammengeführt, um Work.pdb des endgültigen Projekts zu generieren.
2. Erstellen Sie eine ausführbare Datei oder dynamische Bibliothek. In diesem Fall generiert der Compiler eine .pdb-Datei und der Linker generiert eine .pdb-Datei Projekteigenschaften. –> C/C++ -> Einstellung des Programmdatenbanknamens, die vom Linker generierte .pdb-Datei kann in den Projekteigenschaften eingestellt werden -> Debugging-Informationen generieren (Ja festlegen), Einstellungen für Programmdatenbanknamen generieren.
Was ist der Unterschied zwischen diesen beiden PDF-Dateien? Die vom Compiler generierte PDF-Datei wird standardmäßig auch mit vcx0 benannt. Während des Kompilierungsprozesses speichert der Compiler die Symbolinformationen, die jeder OBJ-Datei entsprechen, enthält jedoch keine Funktionsdefinitionen. Die vom Linker generierte .pdb-Datei wird standardmäßig nach dem Projektnamen benannt. Sie wird vom Linker basierend auf der vom Compiler beim Verknüpfen des Projekts generierten Datei vcx0.pdb weiterverarbeitet. Enthält vollständige Informationen zur Symboldatei. So wie der Linker basierend auf jeder .obj-Datei eine EXE- oder DLL-Datei generiert, ist die vom Compiler generierte .pdb-Datei ein Zwischenprodukt des Kompilierungs-Link-Prozesses und wird schließlich für verwendet Der Debugger ist ProjectName.pdb, der vom Linker generiert wird.
Oben werden die Regeln für die Generierung von PDF-Dateien beschrieben. Wenn Sie es verwenden, wird beim Debuggen der der Datei entsprechende PDF-Dateipfad abgerufen. Gehen Sie dann zu diesem Pfad (absoluter Pfad), um ihn zu finden Ich habe es selbst kompiliert, sodass der Debugger es finden kann, egal wo es platziert ist, solange die PDF-Datei nicht verschoben wird. Wenn der Debugger es in diesem Pfad nicht finden kann, sucht er im Verzeichnis auf derselben Ebene wie die EXE- oder DLL-Datei. Zum Beispiel dieser Job Das Programm wurde von jemand anderem kompiliert und zusammen mit der Symboldatei gesendet. Solange wir die Symboldatei im selben Verzeichnis wie die Exe- oder DLL-Datei ablegen, kann der Debugger sie auch finden. Natürlich können Sie Symbole im Debugger auch selbst angeben Dateipfad
XSD
XSD bezieht sich auf XML Schemas Definition (XML Schemas Definition)
XML Schema ist ein Ersatz für DTD. Die XML-Schemasprache ist ebenfalls XSD.
XML-Schema beschreibt die Struktur eines XML-Dokuments. Sie können ein angegebenes XML verwenden Schema zur Validierung eines XML-Dokuments, um zu überprüfen, ob das XML-Dokument seine Anforderungen erfüllt. Dokumentdesigner können XML verwenden Schema gibt die Struktur und den Inhalt an, die ein XML-Dokument zulässt, und kann verwendet werden, um zu überprüfen, ob ein XML-Dokument gültig ist. XML Schema selbst ist ein XML-Dokument, das der XML-Syntaxstruktur entspricht. Es kann mit einem gängigen XML-Parser analysiert werden.
Ein XML Das Schema definiert: Elemente, die im Dokument erscheinen, Attribute, die im Dokument erscheinen, Unterelemente, die Anzahl der Unterelemente, die Reihenfolge der Unterelemente, ob die Elemente leer sind, die Datentypen von Elementen und Attributen, und die Standard- und Festwerte von Elementen oder Attributen.
Die Gründe, warum XSD ein Ersatz für DTD ist, sind: Erstens ist es entsprechend zukünftigen Bedingungen erweiterbar; drittens ist es in XML geschrieben; viertens unterstützt es Datentypen; fünftens unterstützt es Namespaces.
Das Suffix der XSD-Datei ist .xsd.
Vorteile des XML-Schemas:
1) XML-Schema basiert auf XML und hat keine spezielle Syntax
2) XML kann wie andere XML-Dateien analysiert und verarbeitet werden
3) XML Schema unterstützt eine Reihe von Datentypen (int, float, Boolean, date usw.)
4) XML Schema bietet ein erweiterbares Datenmodell.
5) XML-Schema unterstützt umfassenden Namespace
6) XML-Schema unterstützt Attributgruppen.
.vshost.exe und .exe
.vshost.exe ist, wie der Name schon sagt, eine Visual Studio-Hostanwendung. Wenn vs ausgeführt wird und debuggt, ist es tatsächlich diese Datei, die geöffnet wird. Dieses Programm ermöglicht es vs, Debugging-Informationen zu verfolgen. Der Host-Prozess ist Eine Funktion in Visual Studio 2005/2008/2010/201x, die die Debugleistung verbessert, teilweise vertrauenswürdiges Debuggen unterstützt und die Ausdrucksauswertung zur Entwurfszeit unterstützt.
Der Dateiname der Host-Prozessdatei enthält vshost und befindet sich im Ausgabeordner des Projekts. Die Exe-Datei kann direkt geöffnet werden und vs verfolgt den Ausführungsstatus dieser Dateien nicht. Solange die referenzierte Assembly vollständig ist, kann sie direkt ausgeführt werden.
Der Unterschied zwischen .exe.config und .vshost.exe.config
.exe.config ist die Konfigurationsdatei ohne Debugging.
vshost.exe.config ist eine temporäre Datei, die während des Debuggens generiert und zum Debuggen verwendet wird. Der Inhalt der Datei vshost.exe.config im Ordner
ist genau derselbe wie .exe.config. Sie wird hauptsächlich zum Debuggen von Hostprozessen verwendet und sollte nicht direkt über die Anwendung ausgeführt oder bereitgestellt werden.
Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels jedem beim Lernen oder bei der Arbeit helfen kann,