アセンブリの手動登録
.NET Framework SDK には、サービス コンポーネントを含むアセンブリを手動で登録するための .NET サービス インストール ツール (Regsvcs.exe) が用意されています。Regsvcs.exe は、コマンド ライン ツールです。また、RegistrationHelper クラスのインスタンスを作成し、InstallAssembly メソッドを使用することにより、System.EnterpriseServices.RegistrationHelper クラスを使用してプログラムからこれらの登録機能にアクセスすることもできます。
常に手動登録が必要なわけではありませんが、デザイン時のテストでは、アセンブリを手動で登録すると便利です。動的登録とは異なり、手動プロセスでは、実行中に検出されたエラーについてのフィードバックを取得できます。
**メモ **サーバー アプリケーションを作成した場合は、サーバー アプリケーションを使用する前に、Windows インストーラを使用して、サーバー アプリケーションが依存するすべてのアセンブリをグローバル アセンブリ キャッシュ (GAC) に追加する必要があります。追加しないと、アプリケーションによって例外が生成されます。
Regsvcs.exe (または API) によって実行される手順と、各手順で発生する可能性のあるエラーを次の表に示します。
手順 | 発生する可能性のあるエラー | 結果 |
---|---|---|
アセンブリを読み込みます。 | アセンブリを読み込むことができない。 | エラーメッセージとエラー説明が表示されます。 |
アセンブリを登録します。 | 型登録失敗。 | アセンブリの指定が誤っているため、TypeLoadException 例外が発生します。 |
タイプ ライブラリを生成します。 | ライブラリを生成できない。 | アセンブリの指定が誤っているため、TypeLoadException 例外が発生します。 |
LoadTypeLibrary メソッドを呼び出して、タイプ ライブラリを登録します。 | オートメーション呼び出しが失敗。 | TypeLoadException 例外が生成されます。 |
要求されたアプリケーションに、タイプ ライブラリをインストールします。 | アセンブリ登録ツール (Regasm.exe) が、指定されたアプリケーションを見つけることができない。 | "オブジェクトの 1 つが見つかりませんでした。" というエラー メッセージが表示されます。
解決するには、指定したタイプ ライブラリおよびアプリケーションの場所を確認します。 |
クラスを設定します。 | 登録時に、サービス属性の矛盾を検出。たとえば、次のような矛盾するプロパティを適用してクラスを設定した場合があります。
TransactionOption.Required SynchonizationOption.Disabled |
矛盾を説明するエラー メッセージが表示されるか、または矛盾するサービスのいずれかが変更されます。 |
参照
サービス コンポーネントの登録 | アセンブリの動的登録 | .NET サービス インストール ツール (Regsvcs.exe) | RegistrationHelper クラス | System.EnterpriseServices