.net 開発プロセス中の Bin ディレクトリにあるいくつかのファイル形式の概要
.NET 開発では、bin ディレクトリの下に次のような種類のファイルがよく見られます:
.pdb、.xsd、.vshost.exe、.exe、.exe.config、.vshost.exe.config
がリリースされても、何が必要で何が不要なのかが不明瞭になることがよくあります。では、これらの形式のファイルは正確に何に使用されるのでしょうか?
pdb
.pdbファイルはシンボルファイル(プログラム)です データベース)、デバッグ情報を保存します。 VS のプロジェクト プロパティで、C/C++、デバッグ情報形式、/Zi を設定すると、VS はプロジェクトのビルド時に PDB ファイルを作成します。
ここでは 2 つの状況を区別する必要があります:
1. 静的ライブラリを構築する場合、プロジェクト プロパティ –> C/C++ –> プログラム データベース名を使用できます。 生成される pdb ファイルの名前を設定します。指定しない場合、デフォルトで VCx0.pdb として生成されます。たとえば、VS2005 を使用する場合は、VC80.pdb が生成されます。ここに生まれる 質問があります。静的ライブラリをコンパイルするときにデフォルトで生成される .pdb ファイルの名前はすべて同じです。この静的ライブラリを参照するプロジェクトは、最終的に正しい .pdb ファイルを見つけることができますか?答えは「はい」です。VS が生成されたファイルに埋め込むからです。 .pdb ファイルへのパス。
たとえば、Project/ToolA の下に静的ライブラリ ToolA.lib が構築され、これに対応して vc80.pdb が Project 内に生成されます。 /ToolB の下に静的ライブラリ ToolB.lib が構築され、それに対応して vc80.pdb が生成されます。次に、最終プロジェクト Work.exe は、これら 2 つの静的ライブラリを同時にリンクします。 Work.pdb になると、それに対応するシンボル ファイル パス Project/ToolA/vc80.pdb と ToolB.lib が ToolA.lib 内に見つかります。 対応するシンボル ファイル パス Project/ToolB/vc80.pdb がマージされ、最終プロジェクトの Work.pdb が生成されます。
2. 実行可能ファイルまたは動的ライブラリをビルドします。この場合、コンパイラーは .pdb ファイルを生成し、コンパイラーによって生成された pdb ファイルはプロジェクトのプロパティ –> にあります。 ; C/C++ -> 出力ファイル -> リンカーによって生成された .pdb ファイルは、プロジェクトのプロパティで設定できます。 デバッグ情報の生成 (Yes に設定)、プログラム データベース名の設定を生成します。
これら 2 つの pdb ファイルの違いは何ですか?コンパイラによって生成される pdb ファイルにも、デフォルトでは vcx0 という名前が付けられます。コンパイル プロセス中に、コンパイラは各 .obj ファイルに対応するシンボル情報を保存しますが、関数定義は含まれません。リンカーによって生成される .pdb ファイルには、デフォルトでプロジェクト名が付けられ、プロジェクトのリンク時にコンパイラーによって生成される vcx0.pdb に基づいてリンカーによってさらに処理されます。 シンボル ファイルに関する完全な情報が付属します。リンカーが各 .obj ファイルに基づいて exe または dll を生成するのと同じように、コンパイラーによって生成される .pdb ファイルはコンパイルリンク プロセスの中間生成物であり、最終的に使用されます。 デバッガはリンカによって生成された ProjectName.pdb です。 上記は pdb ファイルの生成規則です。これを使用すると、ファイルに対応する pdb ファイルのパスがデバッグ中に取得され、exe または dll の場合はそのパス (絶対パス) に移動して検索します。 自分でコンパイルしたので、どこに置いても、pdb ファイルが移動しない限り、デバッガーはそれを見つけることができます。デバッガーがそのパスで見つからない場合は、exe または dll と同じレベルのディレクトリを検索します。例えばこんな仕事 プログラムは他の人によってコンパイルされ、シンボル ファイルと一緒に送信されます。シンボル ファイルを exe または dll と同じディレクトリに置く限り、デバッガもそれを見つけることができます。もちろん、デバッガでシンボルを自分で指定することもできます。 ファイルパス
XSD
XSDはXMLスキーマ定義を指します
XMLスキーマはDTDの代替です。 XML Schema言語もXSDです。
XML スキーマは、XML ドキュメントの構造を記述します。指定したXMLを使用できます XML ドキュメントを検証して、XML ドキュメントが要件を満たしているかどうかを確認するためのスキーマ。ドキュメント設計者は XML を使用できます スキーマは、XML ドキュメントで許可される構造とコンテンツを指定し、XML ドキュメントが有効かどうかを確認するために使用できます。 XML スキーマ自体は XML ドキュメントであり、XML 構文構造に準拠しています。これは、一般的な XML パーサーで解析できます。
XML スキーマは、ドキュメントに表示される要素、ドキュメントに表示される属性、サブ要素、サブ要素の数、サブ要素の順序、要素が空かどうか、要素と属性のデータ型を定義します。要素または属性のデフォルト値と固定値。
XSD が DTD に代わる理由は次のとおりです。第一に、将来の状況に応じて拡張可能であること、第二に、DTD よりも機能が豊富で便利であること、第三に、XML で記述されていること、第四に、データ型をサポートしていること、 5 番目に、名前空間をサポートします。
XSD ファイルの拡張子は .xsd です。
XML スキーマの利点:
1) XML スキーマは XML に基づいており、特別な構文はありません
2) XML は他の XML ファイルと同様に解析および処理できます
3) XML スキーマは一連のデータ型 (int 、float 、Boolean、date など)
4) XML スキーマは拡張可能なデータ モデルを提供します。
5) XML スキーマは包括的な名前空間をサポートします。
6) XML スキーマは属性グループをサポートします。
.vshost.exe および .exe
.vshost.exe は、名前が示すように、vs が実行およびデバッグしているときに実際に開かれるのはこのファイルです。ホストプロセスは Visual Studio 2005/2008/2010/201x の機能。デバッグのパフォーマンスを向上させ、部分信頼デバッグをサポートし、デザイン時の式の評価をサポートします。
ホストプロセスファイルのファイル名には次のものが含まれます vshost であり、プロジェクトの出力フォルダーにあります。 exe は直接開くことができますが、vs はこのファイルの実行ステータスを追跡しません。参照されたアセンブリが完了している限り、それを直接実行できます。
.exe.config と .vshost.exe.config の違い
.exe.config は、非デバッグ時の設定ファイルです。
vshost.exe.config は、デバッグ中に生成され、デバッグに使用される一時ファイルです。
フォルダー内の vshost.exe.config ファイルの内容は .exe.config とまったく同じです。これは主にホスト プロセスのデバッグに使用され、アプリケーションを通じて直接実行または展開しないでください。
以上がこの記事の内容です

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











現在、人工知能(AI)技術の開発は本格化しており、さまざまな分野で大きな可能性と影響力を発揮しています。本日、Dayao は、参考にしていただけるよう、4 つの .NET オープン ソース AI モデル LLM 関連プロジェクト フレームワークを共有します。 https://github.com/YSGStudyHards/DotNetGuide/blob/main/docs/DotNet/DotNetProjectPicks.mdSemanticKernelSemanticKernel は、OpenAI、Azure などの大規模言語モデル (LLM) を統合するように設計されたオープン ソース ソフトウェア開発キット (SDK) です。

.NET 開発者は、高品質のソフトウェアを提供するために機能とパフォーマンスを最適化することの重要性を認識する必要があります。提供されたリソースを巧みに活用し、Web サイトの読み込み時間を短縮することで、ユーザーに快適なエクスペリエンスを提供するだけでなく、インフラストラクチャのコストも削減できます。

同時実行性の高いリクエスト処理の点では、.NETASP.NETCoreWebAPI は JavaSpringMVC よりも優れたパフォーマンスを発揮します。その理由としては、AOT の早期コンパイルにより起動時間が短縮され、開発者がオブジェクト メモリの割り当てと解放を行うため、より洗練されたメモリ管理が行われます。

C#.NETインタビューの質問と回答には、基本的な知識、コアの概念、高度な使用が含まれます。 1)基本知識:C#は、Microsoftが開発したオブジェクト指向言語であり、主に.NETフレームワークで使用されています。 2)コアの概念:委任とイベントは動的な結合方法を可能にし、LINQは強力なクエリ関数を提供します。 3)高度な使用:非同期プログラミングは応答性を向上させ、式ツリーは動的コード構造に使用されます。

C#は、Microsoftによって開発された最新のオブジェクト指向プログラミング言語であり、.NETフレームワークの一部として開発されています。 1.C#は、カプセル化、継承、多型を含むオブジェクト指向プログラミング(OOP)をサポートしています。 2。C#の非同期プログラミングは非同期を通じて実装され、適用応答性を向上させるためにキーワードを待ちます。 3. LINQを使用してデータ収集を簡潔に処理します。 4.一般的なエラーには、null参照の例外と、範囲外の例外インデックスが含まれます。デバッグスキルには、デバッガーと例外処理の使用が含まれます。 5.パフォーマンスの最適化には、StringBuilderの使用と、不必要な梱包とボクシングの回避が含まれます。

C#.NETは、複数のアプリケーション開発をサポートする強力なツールとライブラリを提供するため、依然として重要です。 1)C#は.NETフレームワークを組み合わせて、開発を効率的かつ便利にします。 2)C#のタイプの安全性とゴミ収集メカニズムは、その利点を高めます。 3).NETは、クロスプラットフォームの実行環境とリッチAPIを提供し、開発の柔軟性を向上させます。

c#.netisversatileforbothwebanddesktopdevelopment.1)forweb、useasp.netfordynamicapplications.2)fordesktop、equindowsorwpfforrichinterfaces.3)usexamarinforcross-platformdeveliment、enabling deshacrosswindows、
