- PR -

CrystalReports for .NET 使用上の注意

1
投稿者投稿内容
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2002-10-29 16:18
 CR.NETを使用するにあたり、注意点があります。

 CR.NETを含むプロジェクトは、必ずメインプロジェクトとしてコンパイルされなければなりません。DLLとしてバインドされるプロジェクトとした場合、開発元での動作確認はされていません。

注意:サポートセンターからの返答が的を射ていないので、本当のところはどうだか、よくわかりません。

 わたしとしては、Web上云々ではなく、リモートマシン上の実行ファイルを実行するためのセキュリティー設定を聞いているのですが、どうもWebとして実行にこだわっているようです。しかし、「ソリューション内のサブプロジェクト」という聞き方に対して「動作確認はございません」という回答なので、注意点としてお伝えします。



以下、質問内容とサポートセンターからの回答。

>>>>質問内容>>>>
現象:
 Windowsアプリケーションを作成し、CrystalReportViewerを貼り付ける。
このアプリケーションをローカルで実行したところ、普通に起動、表示、印
刷ができた。このアプリケーションを他マシンの共有ディレクトリにコピー
して実行したところ、セキュリティー例外が発生した。
 CrystalReportsViewerを外し、レポートファイルからレポートのインスタ
ンスを作成しようとしたが、同じ現象であった。

質問事項:
 リモートマシンの共有ディレクトリ(実際の使用形態はHTML内にOBJECTタグ
で埋め込む)から実行するために必要な「アクセス許可」を設定する方法をお
教えください。
<<<<質問内容<<<<

>>>>回答>>>>
今回のご質問内容を再度確認させていただきます。
1)ローカルの開発環境でプロジェクトを実行ファイル(EXE)
として動作させると問題なくレポートが表示される。
2)同じプロジェクトをDLLファイルとして作成して、
別なマシン環境で共有して利用する際にエラーが発生する。
この時、クライアント側にこのDLLファイルが存在していないものと解釈しております。
<<<<回答<<<<

#上記回答に対し、ローカルで実行できるテストアプリを作成し、添付
#これをローカルで実行するとOKだが、実行ファイルがあるディレクトリを共有し、
#「¥¥Machine¥Directory¥executable.exe」で実行すると、エラーとなることを返答
#共有ディレクトリで実行できるようにするアクセス許可を再度質問

>>>>回答>>>>
弊社では、Crystal Reports を含むプロジェクトをDLLファイルとしてコンパイルする動作の確認を致しておりません。
なお、Windows Form Viewer を利用してDLL にコンパイルして実行される場合、いろいろ制限事項(例えば、セキュリティの問題)がございます。
また現在回避方法がございませんので、他の開発手法の利用をお勧め致します。
例えば、Web 公開の場合、ASP.NET の利用。
<<<<回答<<<<

>>>>質問内容>>>>
 VS.NETでは、1ソリューションに複数のプロジェクトを作成できます。このとき、メインとなるプロジェクト以外はDLLとしてコンパイルされます。
 ご回答では、このようにDLL化されるプロジェクトも動作の確認を行っていないと解釈されます。それでは、Crystal Reportsを含むプロジェクトは必ずメインプロジェクトとしなければならないのでしょうか。
 MSDN for VS.NET内のCrystal Reportsに関する記述に目を通しましたが、そのような注意書きはありませんでした。
<<<<質問内容<<<<

>>>>回答>>>>
 コンパイルされたDLL を実行させるためのセキュリティなどの設定に関する情報や動作確認はございません。
 そのため、Crystal Reports を含むプロジェクトは、メインプロジェクトとして動作してください。
 大変申し訳ございませんが、このようなことは MSDN に記述されていません。
<<<<回答<<<<
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2002-11-05 13:24
追加

 ローカルで実行した場合と、リモートで実行した場合の動作の違いを説明し、質問事項も、括弧付きで「実際にはHTMLから実行」と書いているが、リモートで実行するためのアクセス権と、明記している。なぜ「WEB」や「DLL」というのか。

と、質問を投げたところ、質問の意味の取り違いとの返答。
しかし、「アクセス許可」に関する情報がない、というのは、理解しがたいものがある。

返答引用
>>私どもでは、今回の原因を『.NETで追加された、ローカル以外に実態があるア
>>センブリの実行を制限する』ところにあるととらえております。ご回答からは、
>>私どもの判断が誤りであり、『DLLでコンパイルしているため』とされているよ
>>うに見受けられるのですが、上記サンプルの実行結果を考慮して、その理由がよ
>>くわかりません。

> ご理解いただいた原因では正しいです。Crystal Reports が含まれている
>Windows アプリケーションを、リモートマシンの共有ディレクトリから実行
>するのは、現在実現することができません。弊社では、それを実現するため
>の必要な「アクセス許可」の設定方法に関する情報やテクニカル ペーパーな
>どはございません。ご了承くださるようお願い申し上げます。他の開発手法
>をお考え頂くようお願い申し上げます。
1

スキルアップ/キャリアアップ(JOB@IT)