アプリケーション実行時に LicenseException の例外が発生する
対象製品
El Tabelle for .NET 3.0J
詳細
アプリケーション実行時に次のような例外が発生する場合があります。
この例外が発生する要因として、ライセンス情報が正しく設定されていないことが考えられます。
次のようなケースでこの問題が発生します。
・プロジェクト内に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 ファイルに次のライセンス情報を追加する必要があります。
v3.1.2005.0615 を使用している場合、次のようになります。
v3.1.2005.1208 を使用している場合、次のようになります。
v3.2.2006.0414 を使用している場合、次のようになります。
licences.licx を作成後、プロジェクトから参照されるように Visual Studio .NET の[プロジェクト]-[既存項目の追加]メニューでプロジェクトに追加します。
■El Tabelle をユーザーコントロール内で使用している場合
製品のコントロールを継承して独自のコントロールを作成したり、他のコントロールと組み合わせてユーザーコントロールを作成する場合は、LicenseProvider属性を設定する必要があります。
作成したコントロールにLicenseProvider属性を設定していない場合は、製品のライセンス情報を参照できないため、そのコントロールを使ったアプリケーションを実行したときに、例外が発生します。
コントロールにLicenseProvider属性を設定するには、次のように、クラスの宣言の前にLicenseProvider属性を設定します。
[Visual Basic]
[C#]
■クラスライブラリにFormを追加して使用している場合
クラスライブラリのプロジェクトにFormを追加し、そのFormにEl Tabelleのコントロールを貼り付けている場合、呼び出し側プロジェクトのlicenses.licxファイルにそのコントロールの情報が組み込まれている必要があります。licenses.licxファイルの作成方法については、上記の「コントロールを動的に生成している場合」をご参照ください。
'System.ComponentModel.LicenseException' のハンドルされていない例外が
grapecity.win.eltabelle.v30.dll で発生しました。
追加情報 : 型 'XXXXXXXXX' のインスタンスが作成されており、
有効なライセンスが型 'GrapeCity.Win.ElTabelle.WorkBook' に対して与えられません
でした。詳細については、コンポーネントの製造元に問い合わせてください。
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
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
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
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
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
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
{
・・・
}
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