license.licxファイルおよびライセンス/無許可マシン
-
27-10-2019 - |
質問
VS2010ソリューションには、ライセンスがあります。licxファイルが含まれています。
DataDynamics.ActiveReports.ActiveReport, ActiveReports6, Version=6.1.2814.0, Culture=neutral, PublicKeyToken=cc4967777c49a3ff
DataDynamics.ActiveReports.Web.WebViewer, ActiveReports.Web, Version=6.1.2814.0, Culture=neutral, PublicKeyToken=cc4967777c49a3ff
DataDynamics.ActiveReports.Export.Pdf.PdfExport, ActiveReports.PdfExport, Version=6.1.2814.0, Culture=neutral, PublicKeyToken=cc4967777c49a3ff
DataDynamics.ActiveReports.Design.Designer, ActiveReports.Design6, Version=6.1.2814.0, Culture=neutral, PublicKeyToken=cc4967777c49a3ff
DataDynamics.ActiveReports.Viewer.Viewer, ActiveReports.Viewer6, Version=6.1.2814.0, Culture=neutral, PublicKeyToken=cc4967777c49a3ff
ActiveReportのライセンスがあるマシンにソリューションを構築すると、すべてが問題ありません。 ActiCeReportのライセンスがないマシンにソリューションを構築した場合:
エラー1 'ファイルまたはアセンブリをロードできませんでした' activeReports6、version = 6.1.2814.0、culture = neutral、publickeytoken = cc4967777c49a3fff 'またはその依存関係の1つ。操作はサポートされていません。 (hresultからの例外:0x80131515) 'lc
ActiveReportのライセンスがないマシンでは、ライセンスから上記の行を削除した場合、licxファイルでは、すべてが正常に構築されます。ライセンスが見つからなかった場合、無許可バージョンが使用されますが、ビルドを殺すことはないといつも思っていました。ライセンスがあるかそうでないかにかかわらず、このソリューションを任意のマシンで構築するにはどうすればよいですか?
解決 2
ActiveReportsに連絡し、各ユーザーが有料ライセンスを持っているかどうかにかかわらず、各ユーザーに対してライセンスファイルを維持できることを教えてくれました。トリックは、レポートを生成しないユーザーがトライアルライセンスをインストールする必要があること(ActireReportsが無料で提供する)と、ライセンスに支払ったユーザーが独自のライセンスを持っていることです。試用免許証は、実際の有料ライセンスと同様に、lickence.licxファイルを扱い、.licxファイルで認識されているエントリを確認すると適切なアクションが提供されます。
他のヒント
実際には、このマシンにはActionePortsの特定のバージョンがインストールされていないようです。
このような問題を解決します。外部アセンブリをプロジェクト(つまり、アセンブリ)に関連するパスに保存し、すべてのプロジェクトを変更してヒントパスを含めるように変更します。
<Reference Include="ActiveReports3">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\..\Assemblies\ActiveReports3.dll</HintPath>
</Reference>
これにより、すべての開発者がまったく同じバージョンがインストールされていることを心配する必要はありません。この構成でデバッグできるはずですが、リリース用にビルドすることはできません。
アップデート
私たちが実装する別のプラクティスに言及するのを忘れていました:コンポーネントが絶対に必要としない限り(頭の上部から考えることができるものしか持っていない場合)、ライセンス.licxファイルにバージョンを保存することはありません。ライセンス。上記の例のlicxエントリは次のとおりです。
DataDynamics.ActiveReports.ActiveReport3, ActiveReports3
これを行う場合は、ライセンスを維持する必要があります。licxファイルは、さまざまなバージョンの問題を確実に解決します。
ActiveReportのライセンスがないマシンにソリューションを構築した場合
これは問題の一部です。通常、ライセンスでは、すべての開発者がライセンスを取得する必要があります。開発チームの一部のみをライセンスしようとすることは、ActiLEREPORTSライセンスに違反している可能性があります。
ActionErportsのトライアルバージョンを説明している方法で使用することはまったく問題ありません。さまざまなコンポーネントを使用したVisual Studioのライセンスに関する多くの問題を見てきました。通常、次の手順を使用して解決できます。
- ビルド>クリーンを使用してソリューションを清掃します
- LICXファイルを削除します(Visual Studioは必要に応じてこのファイルを生成します)。
- プロジェクトのフォームにarviewerコントロールを追加します(後でもう一度削除できます)。これは、有効なActiveReportsライセンスを備えたマシンで行われる必要があります。そして、これは、正しい情報でRICXファイルを再生するものをトリガーするものです。
- 再構築(あなたが本当の再構築をすることを確認してください、私はそれがクリーン+ビルドであると思われることを知っていますが、再構築は時々重要であると思われます)。
それ以外は、参照がすべて正しいことを確認するだけです。たとえば、ソリューション内のさまざまなプロジェクトで参照されているDLLの複数のバージョンがないことを確認し、「ローカル」と「特定のバージョンの使用」が予想通りであることを確認してください。
まだ問題がある場合は、新しいプロジェクトを作成している場合は、ActiveReports(または問題があるコンポーネント)を追加し、クイック「Hello World」スタイルアプリを実行して、正しく機能することを確認し、2つのプロジェクト(参照、ファイル、等。)。