4

背景情報: VS2008で、ActiveReportsレポートをプレビューウィンドウに表示するのに十分なコードを含む非常に単純な.NETソリューションを設定しました。ActiveReportsコンポーネントは、このlicenses.licxメカニズムを使用して、適切にライセンスされているかどうかを判断します。有効なライセンスキーが見つからない場合は、レポートプレビューに、 「これは評価用コピーです、[何とか何とか何とか]など]という目立つメッセージが表示されます。

私の問題:同じバージョンのVS2008とActiveReportsがインストールされている2台のコンピューターがあります。インストールごとに有効なライセンスを取得しています。これで、一方のマシンでソリューションを構築すると、評価バナーメッセージのないレポートプレビューが表示されますが、もう一方のマシンでは、まったく同じソリューションが評価メッセージを表示するアプリケーションにコンパイルされます。

これまでにわかったこと:Reflector.NETを使用して、2番目のマシン(評価メッセージを表示する)で、ライセンスコンパイラ(LC.EXE)がのActiveReportsライセンス行を無視しているように見えることがわかりましたlicenses.licx。ただし、エラーや警告メッセージは表示されません。

⇒それで、この質問は残ります:それが出力埋め込みリソースを生成するときから、どのような状況LC.EXEでテキストの行を無視することを決定しますか?licenses.licxMyApplication.licenses


PS:ファイルを削除してから、一時的にダミーレポートをソリューションに追加してファイルを再作成しても、問題は解決しません。licenses.licxこのトリックは、同様のライセンスの問題でよく言及されますが、ここでは機能しません。licenses.licxファイルの内容は有効のようです。

PPS:これがスタックオーバーフローの質問なのか、スーパーユーザー向けの質問なのか完全にはわかりません。

4

1 に答える 1

4

OK –わかりませんが、この問題の原因が疑われます。

そのファイルをコンパイルするときに、LC.EXEリストされているすべてのコントロールをプローブするのではないかと思います。licenses.licxそのプロービング中に、リストされたコントロールのいずれかが適切にライセンスされていないと判断した場合(たとえば、ライセンスが実際に欠落している、またはインストールが破損しているなどの理由で)、ライセンスコンパイラは実際のライセンスキーを出力リソースストリーム。


更新:数週間後、私はまだこれが起こったことだと信じています。結局のところ、ライセンスが失敗した1台のマシンには、ActiveReportsのインストールが破損していることが判明しました。削除ユーティリティを実行した後、ActiveReportsは新規インストールを取得し、ライセンスは両方のマシンで機能するようになりました。

于 2010-06-23T18:33:57.290 に答える