0

私は単純なアプリケーションを作成しました.C#または任意の.netプログラムがアセンブリコードを含むアセンブリファイルに変換されることを本で読みましたが、そのアセンブリファイルの場所を知りたい.

4

3 に答える 3

4

すべての C# プログラム (より一般的には、任意の .NET 言語) は、中間バイトコード ( CIL ) を含む .exe または .dll である .NET "アセンブリ" に変換されます。そのバイトコードは、 JIT コンパイラーによってオンザフライでプログラムを実行すると、機械語にコンパイルされます。

既定では、Visual Studio は .NET アセンブリをプロジェクトの/binフォルダーに配置し、選択した構成をその下に配置します。(デフォルトでは 2 つしか存在せず/bin/Debug/bin/Release) これはプロジェクトのプロパティで変更できます。

.NET アセンブリにはアセンブリ コードはありませんが、ildasm.exeMono.Cecilなどのツールを使用して CIL バイトコードを表示できます。

JIT コンパイラには、システムの現在のハードウェア構成を検出し、CPU の機能に基づいて最適化を適用できるという利点があります。JIT が生成するものはコンピューターごとに異なるため、それを調べても意味がありません。

于 2012-02-02T07:01:49.760 に答える
3

用語には注意が必要です。

.NET バイナリは「アセンブリ」と呼ばれ、アセンブリ コードは含まれません (アセンブリ コードが実際のマシン命令を意味すると仮定します)。代わりに、奇抜な CPU のアセンブリ言語に似た CIL が含まれています。実行前に、CIL はプラットフォームのネイティブ アセンブリにジャストインタイム コンパイルされ、実行されます。

デバッグ ビルドをビルドしている場合bin/Debugは、アセンブリが配置される場所になります。発売中ですbin/Release

これらのディレクトリは、Visual Studio プロジェクトの場所に対して相対的であることに注意してください。

于 2012-02-02T06:53:46.260 に答える
0

You can create two types of ASP.NET Assemblies in ASP.NET: private ASP.NET Assemblies and shared assemblies. Private ASP.NET Assemblies are created whey you build component files like DLLs that can be applied to one application. Shared ASP.NET Assemblies are created when you want to share the component files across multiple applications. Shared ASP.NET Assemblies must have a unique name and must be placed in Global Assembly Cache (GAC). The GAC is located in the Assembly directory in WinNT. You can view both the manifest and the IL using ILDisassembler (ildasm.exe).
参照: http: //www.dotnet-guide.com/assemblies.html

于 2012-02-02T06:57:47.003 に答える