アプリケーション実行時に LicenseException の例外が発生する

文書番号 : 17101     文書種別 : 使用方法     最終更新日 : 2006/05/29
文書を印刷する
対象製品
El Tabelle for .NET 3.0J
詳細
アプリケーション実行時に次のような例外が発生する場合があります。

'System.ComponentModel.LicenseException' のハンドルされていない例外が
grapecity.win.eltabelle.v30.dll で発生しました。

追加情報 : 型 'XXXXXXXXX' のインスタンスが作成されており、
有効なライセンスが型 'GrapeCity.Win.ElTabelle.WorkBook' に対して与えられません
でした。詳細については、コンポーネントの製造元に問い合わせてください。


この例外が発生する要因として、ライセンス情報が正しく設定されていないことが考えられます。
次のようなケースでこの問題が発生します。

・プロジェクト内にLicenses.licxファイルが存在しない。
・コントロールを動的に生成している。
・ユーザーコントロール、継承コントロールで使用している。
・クラスライブラリにFormを追加している。

それぞれの場合に応じて次のような処置をすることで、例外が発生しなくなります。

■プロジェクト内にlicenses.licxファイルが存在しない場合

(1) 対象のプロジェクトを開きます。
(2) Visual Studio .NETのソリューションエクスプローラーの [すべてのファイルを表示] ボタンをクリックします。
(3) ソリューションエクスプローラー内にlicenses.licxファイルがないことを確認します。
(4) [デザイン] ページを開いて使用しているEl TabelleのコントロールをFormに貼り付けます。
(5) [ビルド(B)] メニューにある「(プロジェクト名)のリビルド」を実行します。
(6) ソリューションエクスプローラー内にlicenses.licxファイルが作成されたことを確認します。
(7) さきほど貼り付けたコントロールを削除し、プロジェクトを保存します。

■コントロールを動的に生成している場合
動的にコントロールを作成する場合、あらかじめプロジェクトの licences.licx ファイルに次のライセンス情報を追加する必要があります。

GrapeCity.Win.ElTabelle.WorkBook, GrapeCity.Win.ElTabelle.v30, Version=3.0.2005.204, Culture=neutral, PublicKeyToken=a26afe6ac959b1f8
GrapeCity.Win.ElTabelle.Sheet, GrapeCity.Win.ElTabelle.v30, Version=3.0.2005.204, Culture=neutral, PublicKeyToken=a26afe6ac959b1f8
GrapeCity.Win.ElTabelle.MultiRowSheet, GrapeCity.Win.ElTabelle.v30, Version=3.0.2005.204, Culture=neutral, PublicKeyToken=a26afe6ac959b1f8

v3.1.2005.0615 を使用している場合、次のようになります。

GrapeCity.Win.ElTabelle.WorkBook, GrapeCity.Win.ElTabelle.v31, Version=3.1.2005.615, Culture=neutral, PublicKeyToken=a26afe6ac959b1f8
GrapeCity.Win.ElTabelle.Sheet, GrapeCity.Win.ElTabelle.v31, Version=3.1.2005.615, Culture=neutral, PublicKeyToken=a26afe6ac959b1f8
GrapeCity.Win.ElTabelle.MultiRowSheet, GrapeCity.Win.ElTabelle.v31, Version=3.1.2005.615, Culture=neutral, PublicKeyToken=a26afe6ac959b1f8

v3.1.2005.1208 を使用している場合、次のようになります。

GrapeCity.Win.ElTabelle.WorkBook, GrapeCity.Win.ElTabelle.v31, Version=3.1.2005.1208, Culture=neutral, PublicKeyToken=a26afe6ac959b1f8
GrapeCity.Win.ElTabelle.Sheet, GrapeCity.Win.ElTabelle.v31, Version=3.1.2005.1208, Culture=neutral, PublicKeyToken=a26afe6ac959b1f8
GrapeCity.Win.ElTabelle.MultiRowSheet, GrapeCity.Win.ElTabelle.v31, Version=3.1.2005.1208, Culture=neutral, PublicKeyToken=a26afe6ac959b1f8

v3.2.2006.0414 を使用している場合、次のようになります。

GrapeCity.Win.ElTabelle.WorkBook, GrapeCity.Win.ElTabelle.v32, Version=3.2.2006.414, Culture=neutral, PublicKeyToken=a26afe6ac959b1f8
GrapeCity.Win.ElTabelle.Sheet, GrapeCity.Win.ElTabelle.v32, Version=3.2.2006.414, Culture=neutral, PublicKeyToken=a26afe6ac959b1f8
GrapeCity.Win.ElTabelle.MultiRowSheet, GrapeCity.Win.ElTabelle.v32, Version=3.2.2006.414, Culture=neutral, PublicKeyToken=a26afe6ac959b1f8

licences.licx を作成後、プロジェクトから参照されるように Visual Studio .NET の[プロジェクト]-[既存項目の追加]メニューでプロジェクトに追加します。

■El Tabelle をユーザーコントロール内で使用している場合
製品のコントロールを継承して独自のコントロールを作成したり、他のコントロールと組み合わせてユーザーコントロールを作成する場合は、LicenseProvider属性を設定する必要があります。
作成したコントロールにLicenseProvider属性を設定していない場合は、製品のライセンス情報を参照できないため、そのコントロールを使ったアプリケーションを実行したときに、例外が発生します。
コントロールにLicenseProvider属性を設定するには、次のように、クラスの宣言の前にLicenseProvider属性を設定します。

[Visual Basic]
Imports System.Drawing
Imports System.Windows.Forms
Imports System.ComponentModel

' 継承コントロールの場合
<LicenseProviderAttribute(GetType(LicenseProvider))> _
Public Class MyControl : Inherits GrapeCity.Win.ElTabelle.Sheet
  ・・・
End Class

' ユーザーコントロールの場合
<LicenseProviderAttribute(GetType(LicenseProvider))> _
Public Class MyControl : UserControl
  ・・・
End Class


[C#]
using System.Drawing;
using System.Windows.Forms;
using System.ComponentModel;

// 継承コントロールの場合
[LicenseProviderAttribute(typeof(LicenseProvider))]
public class MyControl : GrapeCity.Win.ElTabelle.Sheet
{
  ・・・
}

// ユーザーコントロールの場合
[LicenseProviderAttribute(typeof(LicenseProvider))]
public class MyControl : UserControl
{
  ・・・
}


■クラスライブラリにFormを追加して使用している場合
クラスライブラリのプロジェクトにFormを追加し、そのFormにEl Tabelleのコントロールを貼り付けている場合、呼び出し側プロジェクトのlicenses.licxファイルにそのコントロールの情報が組み込まれている必要があります。licenses.licxファイルの作成方法については、上記の「コントロールを動的に生成している場合」をご参照ください。
キーワード
問題

この文書は、以前は次のFAQ IDで公開されていました : 6767