コンポーネントを継承したカスタムコントロールを使用している場合 |
ライセンスの仕組みを使用したコンポーネントを継承したカスタムコントロールをフォームに貼り付けても、ライセンス情報ファイルは自動的に作成されません。
このケースの場合は、以下のいずれかの方法で対応します。
カスタムコントロールのクラスに対して LicenseProvider 属性を設定することで、カスタムコントロールをフォームに貼り付けたときにもライセンス情報ファイルが自動的に作成されるようになります。
using System.ComponentModel; [LicenseProvider(typeof(LicenseProvider))] public class MyComponent { …… }
ただし、カスタムコントロールのバージョンが頻繁に更新されるような場合には注意が必要です。ライセンス情報ファイルに書き込まれる内容にはバージョン番号が含まれており、バージョンが更新されるたびにそれに対応した新たな行がライセンス情報ファイル内に追加され、以前のバージョンの記述がそのまま残ります。その結果、ライセンス情報ファイルに不正な記述があると判断され、「"LC.exe" はコード -1 を伴って終了しました。」といったエラーが発生する要因となります。この場合は、次の方法を採用することをお勧めします。
「コンポーネントを設計時ではなく実行時にコードから生成している場合」で説明した方法で、手動にてライセンス情報ファイルを作成します。