Microsoft Corporation
2001 年 7 月
要約: このドキュメントには、Microsoft .NET と Microsoft .NET Framework に関してよく寄せられる質問とその答えが含まれています。
目次
概念的な質問
.NET Framework とは何ですか?
ランタイムに関する技術的な質問
用語
共通言語ランタイム (CLR) とは?
共通型システム (CLS) とは?
共通言語仕様 (CTS) とは?
Microsoft Intermediate Language (MSIL) とは?
マネージド コードとマネージド データとは?
アセンブリ
アセンブリとは?
プライベート アセンブリと共有アセンブリとは?
共有アセンブリを作成する場合、署名と、キーのペアの管理を行う必要はありますか?
名前空間とアセンブリ名の違いは?
アプリケーションの導入と隔離
.NET アプリケーションの導入オプションは?
作成したアセンブリを複数のアプリケーションで使用したいと考えています。どこに導入するべきですか?
グローバル アセンブリ キャッシュにどのアセンブリがインストールされているかを確認する方法は?
アプリケーション ドメインとは?
ガーベジ コレクション
ガーベジ コレクションとは?
非決定的ガーベジ コレクションはコードにどのような影響を与えますか?
ガーベジ コレクションが行われるヒープの使用を避けることはできますか?
リモーティング
共通言語ランタイムでは、プロセス内通信とプロセス間通信はどのように行われますか?
相互運用性
.NET Framework プログラムから COM オブジェクトを使用することはできますか?
COM プログラムから .NET Framework コンポーネントを使用することはできますか?
.NET Framework プログラムから Win32 API を使用することはできますか?
セキュリティ
セキュリティ システムに対応したコードを作成する方法は?
コードをネットワーク共有ドライブから実行するとセキュリティ例外が発生するのはなぜですか?
セキュリティ システムが実行を停止するコードを正常に動作させるには?
マシンのセキュリティを管理する方法は? 企業のセキュリティを管理する方法は?
エビデンス ベース セキュリティと Windows 2000 セキュリティの関係は?
その他
.NET に対応したアプリケーションは、Visual Basic 6.0 や Visual C++ 6.0 などの以前のバージョンで作成されたアプリケーションに対して、何らかの影響をあたえますか
概念的な質問
.NET Framework とは何ですか?
Microsoft .NET Framework は、Web サービスおよびアプリケーションの構築、導入、および実行のためのプラットフォームです。既存のシステムを次世代のアプリケーションおよびサービスと統合するための生産性の高い標準ベースの複数言語環境と、インターネット スケールのアプリケーションの導入と運用に関連する問題を解決するための敏捷性を備えています。.NET Framework は、共通言語ランタイム、階層的な統一されたクラス ライブラリのセット、および Active Server Pages のコンポーネント化されたバージョンである ASP.NET の 3 つの部分から構成されています。
目次に戻る
ランタイムに関する技術的な質問
用語
共通言語ランタイム (CLR) とは?
共通言語ランタイムは、.NET Framework アプリケーションのための実行エンジンです。
これは以下のようなサービスを提供しています。
- コード管理 (ロードと実行)
- アプリケーション メモリの隔離
- タイプ セーフティの検証
- IL からネイティブ コードへの変換
- メタデータへのアクセス (拡張された型情報)
- マネージド オブジェクトのメモリの管理
- コード アクセス セキュリティの実施
- クロス言語例外を含む例外処理
- マネージド コード、COM オブジェクト、および既存の DLL (アンマネージドのコードとデータ) の間の相互運用
- オブジェクト レイアウトのオートメーション
- 開発者サービスのサポート (プロファイリング、デバッグなど)
目次に戻る
共通型システム (CTS) とは?
共通型システムは、大部分のプログラミング言語に含まれている型と操作をサポートする、共通言語ランタイムに組み込まれたリッチな型システムです。共通型システムは、幅広いプログラミング言語のインプリメンテーションを完全にサポートしています。
目次に戻る
共通言語仕様 (CLS) とは?
共通言語仕様は、ライブラリ作成者とコンパイラ作成者のためのガイドの役割を果たす言語要素と制約条件のセットです。CLS をサポートしている任意の言語からライブラリを使用できるようになり、またこれらの言語を互いに統合することができます。共通言語仕様は共通型システムのサブセットです。また、共通言語仕様は、他の開発者によって使用されるコードを書いているアプリケーション開発者にとっても重要です。CLS の規則に従ってパブリックにアクセス可能な API を設計することにより、これらの API は共通言語ランタイムをターゲットとしている他のすべてのプログラミング言語から簡単に使用できるようになります。
目次に戻る
Microsoft Intermediate Language (MSIL) とは?
MSIL は、.NET Framework プログラムをコンパイルしたときに生成される CPU に依存しない命令セットです。オブジェクトのロード、格納、初期化、およびそのメソッドの呼び出しのための命令が含まれています。
MSIL をメタデータおよび共通型システムと組み合わせることにより、真の言語間統合が可能となります。
MSIL は実行の前にマシン コードに変換されます。インタープリタによって実行されるわけではありません。
目次に戻る
マネージド コードとマネージド データとは?
マネージド コードとは、共通言語ランタイムのサービスをターゲットとして書かれたコードのことです (「共通言語ランタイムとは?」を参照)。これらのサービスをターゲットとするには、コードはランタイムに対して最低限の情報 (メタデータ) を提供しなくてはなりません。C#、Visual Basic .NET、および JScript .NET のすべてのコードは、デフォルトでマネージドとなります。Visual Studio .NET C++ のコードは、デフォルトではマネージド コードにはなりませんが、コンパイラはコマンド ライン スイッチ (/CLR) を指定することでマネージド コードを生成することができます。
!doctype>