VS 2010.iでインストールされたCrystal Report 2010があり、ローカルホストで正常に動作するCrystalレポートを作成しましたが、問題はWebサイトをIISに公開すると表示されないことです。空白のページを表示します..rptファイルが存在しない場合でも、公開されたフォルダをチェックしました。この問題を解決する方法を教えてください。
解決策は、IISこの方法で作業することです。
aspnet_client
_フォルダーを_c:\inetpub\wwwroot
_フォルダーから新しいWebサイトのルートフォルダーにコピーします。または(最初の方が簡単で、2番目の方がメンテナンスに適しています)
aspnet_client
_と呼ばれる_c:\inetpub\wwwroot\aspnet_client
_を指す新しいWebサイト内問題を分析することは可能です
GET http://someserver:20080/aspnet_client/system_web/4_0_30319/crystalreportviewers13/js/crviewer/crv.js 403 (Forbidden)
GET http://someserver:20080/aspnet_client/system_web/4_0_30319/crystalreportviewers13/js/crviewer/images/style.css 403 (Forbidden)
%SYSTEMROOT%\System32\LogFiles\W3SVC###\
_ _C:\inetpub\logs\LogFiles\W3SVC###
_)。2011-03-28 13:00:49 W3SVC701536 95.228.38.41 GET /aspnet_client/system_web/4_0_30319/crystalreportviewers13/js/crviewer/images/style.css-20080-192.168.1.2 Mozilla/5.0 +(compatible; + MSIE + 9.0 ; + Windows + NT + 6.1; + Trident/5.0)403 6 64エラー! 2011-03-28 13:00:49 W3SVC701536 95.228.38.41 GET /aspnet_client/system_web/4_0_30319/crystalreportviewers13/js/crviewer/crv.js-20080-192.168.1.2 Mozilla/5.0 +(compatible; + MSIE + 9.0; + Windows + NT + 6.1; + Trident/5.0)403 6 64エラー!
Crystal Reportsランタイムはインストールされていますが、アプリケーションはデフォルトのWebサイトで実行されていません。
crv.js
_と_style.css
_のいくつかのファイルが提供されないことがわかりました。wwwroot\aspnet_client
_フォルダーに配置されますが、何らかの理由でアクセスできません。異なるバージョンのソフトウェアと異なる構成を使用していることがわかりますが、同じ問題があると思います。
この問題を解決するのは困難でした。
私の構成はVS 2010、CR 14.0.2000.0バージョン、Window Server 2008 R2、IIS 7.です。解決策を得ました。ネットで提供されたほとんどすべての解決策を試しました。すべてのトリックを実装しました。最後に、web.configの次の行にコメントを付けてレポートを表示します。
<add key="ResourceUri" value="/crystalreportviewers13"></add>
これで、インストールしたものを1つずつ削除し、正確に必要なものを確認しています。
私は以下をすべて試しました:
再起動IIS私が何かをしたとき。
この質問に対する最良の答えはこちらです!
C:\ inetpub\wwwroot\aspnet_client\system_web\4_0_30319\crystalreportviewers13をコピーします(-CRforVS_redist_install_32bit_13_0.exeのインストール時に取得します)(ProjectName/crystalreportviewers13など)
これをweb.configにコピーします
3.1
<configSections>
<sectionGroup name="businessObjects">
<sectionGroup name="crystalReports">
<section name="rptBuildProvider" type="CrystalDecisions.Shared.RptBuildProviderHandler, CrystalDecisions.Shared, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304, Custom=null" />
<section name="crystalReportViewer" type="System.Configuration.NameValueSectionHandler" />
</sectionGroup>
</sectionGroup>
</configSections>
3.2
<businessObjects>
<crystalReports>
<rptBuildProvider>
<add embedRptInResource="true" />
</rptBuildProvider>
<crystalReportViewer>
<add key="ResourceUri" value="/crystalreportviewers13" />
</crystalReportViewer>
</crystalReports>
</businessObjects>
3.4 FTPモードでWebアプリケーションを任意のフォルダーに公開し、この公開をWebサーバーにコピーしてテストします!
マスターページまたはレポートをレンダリングするページで、この参照を水晶レポートjavascriptに追加します。
<script src='<%=ResolveUrl("~/crystalreportviewers13/js/crviewer/crv.js")%>'type="text/javascript"></script>
詳細については、以下のリンクをご覧ください。
Crystal Reports Bobjは未定義であり、bobj.isObjectはVisual Studio 2012および2013の関数ではありません
考えられるシナリオは、IISサーバーWebサイトがデフォルトでC:\ inetpub\wwwrootになっていないことです。これは、Crystalがaspnet_client\system_web\4_0_30319\crystalreportviewers13フォルダーにアプリケーションファイルをデフォルトでインストールする場所です。
可能な答えは、ウェブサイトの物理パスをc:\ inetpub\wwwrootに設定することです
Aspnet_clientフォルダーをC:\ inetpub\wwwrootから新しく作成したWebサイトのフォルダーにコピーすると、単純に問題を解決できます。たとえば、Webサイト名がTestWebsiteの場合、aspnet_clientフォルダーをTestWebsiteフォルダー内に配置します。 web.configで構成を変更する必要はありません。
他にできることは、「仮想アクセスパス」を変更することです。 Chromeのコンソールとネットワークビューを確認した後、アプリケーションがjs
およびcss
リソースに到達していないことに気づきました。これはWebプロジェクトの名前に設定されているため、これを/
そして、これはトリックをしました。
数時間のフラストレーションの後、私のために働いた解決策は次のとおりです(他の人が推奨するようにフォルダをコピーしても機能しないことを確認した後にこれらを行います)。
シナリオ: CrystalReportsViewerは空白のブラウザ画面を表示します(ビューアまたは空白のレポートページはありません)ソースを表示すると、そこにビューアコードがあるレポートコンテンツ全体が表示されます。
テスト:フォルダーの参照http://<server name>/aspnet_client/system_web/4_0_30319/crystalreportviewers13/images/buttonl.gif
-画像が表示されない場合、それはcrystalreportsviewerがレポートを表示するときに直面する問題と同じです。
変更するIIS設定: IIS(7.0以上))でWebサイトのフォルダーを展開します。「aspnet_client」フォルダーを選択します。メインページで[認証]を選択します(機能ビュー)「匿名アクセス」を選択し、右ペインの「アクション」メニューを使用して有効にします(これはテスト目的のみで、後で無効にできます)メインペイン(「機能」ビュー)で「ハンドラーマッピング」を選択します右側のペインで[継承に戻す]をクリックします確認を求められたら元に戻します
もう一度テスト:フォルダーを参照します
少なくとも、このソリューションはどこにも文書化されていませんでした。
注: aspnet_clientフォルダーへの匿名アクセスを無効にすることを忘れないでくださいIIS上記のようにテストした場合)
私はこれが少し古い記事であることを知っていますが、私のような初心者はこれから助けを得ることができると思います。このコードをweb.configファイルに追加し、「crystalreportviewers13」フォルダーを「c:\ inetpub\wwwroot\aspnet_client」からルートディレクトリにコピーします
<configSections>
<sectionGroup name="businessObjects">
<sectionGroup name="crystalReports">
<section name="rptBuildProvider" type="CrystalDecisions.Shared.RptBuildProviderHandler, CrystalDecisions.Shared, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304, Custom=null" />
<section name="crystalReportViewer" type="System.Configuration.NameValueSectionHandler" />
</sectionGroup>
</sectionGroup>
</configSections>
<businessObjects>
<crystalReports>
<rptBuildProvider>
<add embedRptInResource="true" />
</rptBuildProvider>
<crystalReportViewer>
<add key="ResourceUri" value="/crystalreportviewers13" />
</crystalReportViewer>
</crystalReports>
</businessObjects>
私も同じ問題に直面していましたが、解決しました。 WebサイトがIISでホストされている場合、Web.configは以下の設定を持つ必要があります。
<add key="ResourceUri" value="~/crystalreportviewers13"/>
WebサイトスルーがVisual Studioを介してホストされている場合
<add key="ResourceUri" value="/crystalreportviewers13"/>
私の場合、アプリと機能を介してSAPクリスタルレポートランタイムエンジンを更新しました。開発サーバーでクリスタルレポートバージョン18を使用していました私はバージョンを取得しませんでした、インストールされた日付を取得しただけなので、最後のバージョンに更新しました...
設定
<compilation debug="false">
web.configで私のために働いた。
私は最終的に、以下に説明するように、古いバージョンと修正バージョンでそれを手に入れました。開発サーバーでは、リンクを正確にたどること以外は、開発サーバーには当てはまらない「〜」が必要だからです。古いもの :
修正済み:
私はそれが数年前に尋ねられたことを知っています。しかし、 この方法 私のために働いた。これは、いつかこの種の問題に遭遇する人向けです。
32ビット環境でアプリケーションを作成し、64ビットに変更しました。 WebアプリケーションをIIS Webサーバー(現在の64ビット)にデプロイし、独自のアプリケーションプールを作成しました(「パイプラインモードの管理」を統合して)。
次に、このレポートの問題が発生したとき、リンクからの指示に従いました。 「パイプライン管理モード」をclassicに変更し、アプリケーションが機能しました。
クリスタルレポートが存在するaspxファイルに以下のコードを追加します。
<script src="../../aspnet_client/system_web/4_0_30319/crystalreportviewers13/js/crviewer/crv.js" type="text/javascript" >
</script>
また、aspnet_clientフォルダーをc:\ inetpub\wwwrootフォルダーから新しいWebサイトのルートフォルダーにコピーします。
この方法は、次の2つの問題を解決します。
最初に、サーバー上のフォルダーにrptファイルを手動で公開します。動作する場合は、単に展開の問題です。クリックしたときのファイルのビルドアクションが「コンテンツ」であることを確認してください。さらに試してみてください。