ComponentOneのC1FlexGridを多用するアプリケーションに取り組んでいます。私たちが使用している数十のうち、3つはlicenses.licxファイルが欠落しており、アプリケーションの起動中にデモスプラッシュ画面がポップアップします。
どのフォームがこの動作を引き起こしているのかを判断する方法はありますか?何百ものディレクトリを手作業でチェックする以外に、方法がわかりません。
ComponentOneのC1FlexGridを多用するアプリケーションに取り組んでいます。私たちが使用している数十のうち、3つはlicenses.licxファイルが欠落しており、アプリケーションの起動中にデモスプラッシュ画面がポップアップします。
どのフォームがこの動作を引き起こしているのかを判断する方法はありますか?何百ものディレクトリを手作業でチェックする以外に、方法がわかりません。
Microsoftのドキュメントによると、実行可能アセンブリのみにlicenses.licxが必要です。フォームを含むDLLアセンブリでもフォームが作成されますが、無視されます。これは私の経験でもあります。デザイナービューで各フォームを開き、そのビューで再構築することをお勧めします。これにより、通常、不足しているライセンスエントリがlicenses.licxに追加されます。ただし、既存のエントリは更新されません。コンポーネントを更新した場合、これは問題になる可能性があります。ComponentOneの場合、通常、licenses.licxを編集して、アセンブリ名の後のバージョン情報を削除できます。他のいくつかのサードパーティコンポーネントはより扱いにくく、それらのバージョン情報に触れると、コンパイル時にエラーが発生します。
私の意見では、.NETライセンスフレームワークは煩雑であり、開発者に不必要な負担をかけます。コンポーネントライセンスが尊重されるようにするためのはるかに簡単な方法があります。
すべてのフォームを開く必要はありません。各プロジェクトには、1 つの licenses.licx ファイルがあります。これらのファイルで C1FlexGrid が参照されていることを確認してから、完全な再構築を実行してください([ビルド] > [すべて再構築])。
これで問題は解決するはずです。
フォームを開いてソリューション全体を再構築しても機能しない場合があります。だからこの状況で。Toolbox からフォームに ComponentOne コントロールをドラッグ アンド ドロップするだけです (後で削除することもできます)。このドラッグ アンド ドロップにより、Properties フォルダーに licenses.licx が自動的に生成されます。