2009-05-04 64 views
10

私はWebサイトでMS ReportViewerコンポーネントをしばらく使用していますが、最近私は以下に示すエラーが発生しています。Microsoft ASP.NET ReportViewer Parserエラー

Parser Error Message: The base class includes the field 'xyz', but its type (Microsoft.Reporting.WebForms.ReportViewer) is not compatible with the type of control (Microsoft.Reporting.WebForms.ReportViewer).

<rsweb:ReportViewer ID="xyz" runat="server" Width="100%" Font-Names="Verdana" Font-Size="8pt" Height="400px" ProcessingMode="Local" ShowExportControls="false"> 

は今、私は、Visual Studioならびに生産にこのエラーが発生します。私はReportViewer Redistributableを運用環境にインストールしています。

私のプロジェクトで何か参考文献が見つからないのですか?

答えて

6

私は答えを発見しました。何とかMicrosoft.Reporting.WebFormsのバージョン9への参照がバージョン8に切り替えられました。これによりエラーが発生しました。したがって、参照を削除し、参照の正しいバージョンを追加すると問題が解決されたようです。

編集:

まあ、の.vbprojファイルの以前のバージョンによれば、プロジェクトの参照のプロパティ画面は、私は本当にわからないんだけど、要するに8.私に言っていることにもかかわらず、9を参照しましたねじれてしまうことはありましたが、今はうまくいくようです。

誰かがこれを経験しているか、いくつかの洞察力がある場合は、貢献してください。

+0

しかし、私はどのようにasp.netアプリケーションからの参照を削除したのか教えてください? –

0

同じ問題があります。 Windows Server 2008をSQL Server 2005とSQL Reportingでインストールしてください。サーバーはサイトをホストします。 ReportViewer 2008 SP1をインストールしました。 Web.configはバージョン9.0.0.0を参照します。

同じエラーメッセージが表示されます。基本クラスにはフィールドが含まれていますが、その型(Microsoft.Reporting.WebForms.ReportViewer)はコントロールの種類(Microsoft.Reporting.WebForms.ReportViewer)と互換性がありません。

オンラインで検索し、多くの人が同じ問題を経験しています。プロジェクトファイルを手動で編集することを提案する人もいます。 ソリューションエクスプローラ - > [Webプロジェクト名] - >参照 - > Microsoft.Reporting.WebForms-> PropertiesでSpecific Version = True(Version = 9.0.0.0)を設定して修正できました。

環境の1つでは、Microsoft.Reporting dllがWeb binフォルダにあります。そして、彼らはGACに登録されているDLLと競合していました。 dllの削除は、この問題を解決しました。クリーンインストールの後

2

は、DLLへの参照が壊れていたので、私のプロジェクトはコンパイルできませんでしたので、私はそれを削除し、再度追加し、レポートビューアーを使用しているWebページは、パーサーエラーが発生しました:

The base class includes the field 'rprtReportsViewer', but its type (Microsoft.Reporting.WebForms.ReportViewer) is not compatible with the type of control (Microsoft.Reporting.WebForms.ReportViewer).

は、私はちょうど追加したものと異なるバージョン番号を持つWebページ上の参照が見つかりました:私は9.0.0.0にバージョンを変更し

<%@ Register Assembly="Microsoft.ReportViewer.WebForms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 
    Namespace="Microsoft.Reporting.WebForms" TagPrefix="rsweb" %> 

を、そして今回は、コンパイラのエラーを得たとき、私はリフレッシュしたページ:

CS0433: The type 'Microsoft.Reporting.WebForms.ReportViewer' exists in both 'c:\Windows\assembly\GAC_MSIL\Microsoft.ReportViewer.WebForms\8.0.0.0__b03f5f7f11d50a3a\Microsoft.ReportViewer.WebForms.dll' and 'c:\Windows\assembly\GAC_MSIL\Microsoft.ReportViewer.WebForms\9.0.0.0__b03f5f7f11d50a3a\Microsoft.ReportViewer.WebForms.dll' 

次に、「Microsoft.ReportViewer」のソリューションを検索し、コンパイルでより多くの参照を見つけました。設定:

<add assembly="Microsoft.ReportViewer.WebForms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" /> 
    <add assembly="Microsoft.ReportViewer.Common, Version=8.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" /> 
    </assemblies> 
    <buildProviders> 
    <add extension=".rdlc" type="Microsoft.Reporting.RdlBuildProvider, Microsoft.ReportViewer.Common, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> 
    </buildProviders> 

私もここにバージョン番号を変更し、それはあなたがまた\ビンファイルから削除する必要があるかもしれません

2

エラーを停止:

 Microsoft.ReportViewer.Common.dll 
    Microsoft.ReportViewer.ProcessingObjectModel.dll 
    Microsoft.ReportViewer.WebForms.dll 
    Microsoft.ReportViewer.WinForms.dll 

私はちょうどサブにそれらを移動しますディレクトリ。

0

プロダクションサーバーでこの問題が発生しました。正しいバージョンのReportViewerをインストールし、プロジェクト内のすべての参照が正しいバージョンを指していることを確認しました。しかし、私はまだ誤りを抱えていました。

最終的に私は、「Temporary ASP.NET Files」に行き、自分のアプリケーションのファイルを削除することで問題を解決しました。これを行うには、まずアプリケーションを停止する必要があります。これは問題を解決しました。 DEVサーバーでは、ReportViewerのインストール後にマシンを再起動したため、この問題は発生しませんでした。

これは誰かを助けることを望みます。私はこの特定の「挑戦」を解決する前に、たくさんの髪を引っ張り出しました。

0

参照 - >(Microsoft.ReportViewer.WebForms)、マウスの右ボタンをクリックします。

[バージョンの指定]オプションはfalseのままにします。

その後、保存してもう一度実行してください。

2

は、私は同じエラーに出くわした

<%@ Register Assembly="Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 
    Namespace="Microsoft.Reporting.WebForms" TagPrefix="rsweb" %> 
-2

のようなあなたのページのRDLCのバージョンを確認してください。私のために働いたのは、参照Microsoft.ReportViewer.WebFormsを削除してもう一度追加することでした。

関連する問題