ビルド時に「"LC.exe"はコード-1を伴って終了しました。」のエラーが表示されます。

文書番号 : 40888     文書種別 : 技術情報     登録日 : 2017/08/25     最終更新日 : 2017/08/25
文書を印刷する
対象製品
InputMan for Windows Forms 10.0J
詳細
アプリケーションのビルド時に「"LC.exe"はコード-1を伴って終了しました。」エラーが発生し、ビルドが中断される場合があります。
この場合は、プロジェクトの「licenses.licx」を開き、プロジェクトで使用していないコントロールのライセンス情報を削除してください。

※Visual Basicでは「ソリューション エクスプローラ」ウィンドウのツールバーから「すべてのファイルを表示」をクリックします。ツリーの「My Project」フォルダの直下に「licenses.licx」が配置されています。
※Visual C#では「ソリューション エクスプローラ」ウィンドウの「Properties」フォルダの直下に「licenses.licx」が配置されています。

なお、下記のケースでも同じエラーが表示される場合があります。エラーが表示された場合、いずれかの回避方法に従って対応を行ってください。

【ひとつのプロジェクト内に継承コントロールやユーザーコントロールとそのコントロールを貼り付けたFormが存在する】
LicenseProvider属性を設定した継承コントロール/ユーザーコントロールとそれを貼り付けた Formがひとつのプロジェクト内に存在している場合、「licenses.licx」にそのコントロールのライセンス情報が追加されて上記のエラーが発生することがあります。
【ひとつのソリューション内で、継承コントロールやユーザーコントロールを作成するプロジェクトとそのコントロールを貼り付けたFormが存在するプロジェクトを設定している】
LicenseProvider属性を設定した継承コントロール/ユーザーコントロールとそれを貼り付けた Formをひとつのソリューション内で設定している場合には、ビルドのたびに Formの生成と継承コントロール/ユーザーコントロールのビルドが行われるため、「licenses.licx」にライセンス情報が複数追加されてしまうことがあります。

・対処方法1
継承コントロールやユーザーコントロールのDLLを作成し、それらを使用するプロジェクトの参照設定に追加します。継承コントロールやユーザーコントロールを作成するプロジェクトを同じソリューションやプロジェクトに含めません。

・対処方法2
継承コントロールやユーザーコントロールにはLicenseProvider属性を設定せず、呼び出し元プロジェクトの「licenses.licx」に継承コントロールやユーザーコントロールで使用しているコントロール/コンポーネントのライセンス情報を追加します。

・対処方法3
「licenses.licx」から継承コントロールやユーザーコントロールのライセンス情報をひとつだけ残して削除してから継承コントロール/ユーザーコントロールのLicenseProvider属性をコメントアウトするなどして削除します。


また、LicenseProvider属性を設定して継承コントロールを利用する場合、クラス名に日本語などの2バイト文字が含まれていると、エラー「ファイル'C:¥….exe.licenses'を開けません:指定されたファイルが見つかりません。」が発生する場合があります。このエラーは2バイト文字の使用を避けることで回避してください。(この問題は標準コントロールでも発生します。)