webdevqa.jp.net

Winformsは、VS2012でファイルまたはアセンブリ 'Microsoft.ReportDesigner、Version = 10.0.0.0'を読み込めませんでした

これは私を狂わせています。 .NET4.5をターゲットとするVS2012でビルドされたwinformsアプリがあります。いくつかのフォームでは、ReportViewerを使用する必要があります。最初は、2012年のReportViewer(バージョン11.0.0.0)を使用していました。すべて正常に動作しています。ただし、このバージョンはCLRタイプSQL 2012を使用しているため、クライアントはまだこのバージョンをワークステーションにインストールすることを望んでいません。理由は聞かないでください。今はこれを受け入れる必要があります。

そこで、以前のreportviewerバージョン10.0.0.0を使用することにしました。再配布パッケージをダウンロードしてインストールしました。また、VS2012のツールボックスに追加し、プロジェクトで既に参照されているreportviewerdllを削除しました。しかし、バージョン10のreportviewerをフォームにドラッグすると、次のエラーが発生します。

ファイルまたはアセンブリ 'Microsoft.ReportDesigner、Version = 10.0.0.0、Culture = neutral、PublicKeyToken = b03f5f7f11d50a3a'またはその依存関係の1つを読み込めませんでした。見つかったアセンブリのマニフェスト定義がアセンブリ参照と一致しません。 (HRESULTからの例外:0x80131040)

アプリケーションISエラーなしで実行中ですが、画像に示されているように、このreportviewerコントロールを使用するフォームのデザイン時のサポートはありません。エラーを取り除くために。

enter image description here

GACを確認しましたが、記載されているMicrosoft.ReportDesignerが見つかりませんでした。バージョン9.0.0.0および11.0.0.0には存在しますが、10.0.0.0には存在しません。

結論として、VS2012の設計時にReportViewerバージョン10.0.0.0を設計時エラーの問題なしに使用するにはどうすればよいですか?

フレームワーク:.NET 4.5アプリタイプ:winforms言語:vb.net Visual Studio:バージョン2012コントロール:ReportViewer 10.0.0.0 SP 1

P.S.また、VS2010でReportViewerコントロールをテストしましたが、VS2010の設計時に問題なく使用できます。

[更新]

VS2012でフォームにReportViewerを追加しようとしたときの正確なエラーは、次のとおりです。

enter image description here

13
Stephan

私も同じ問題を抱えていました。次の回避策でVS2012デザイナーを修正することができました。これが正しい方法だとは思えませんが、それは役に立ち、今のところこれ以上良いものは見つかりませんでした。

  1. Visual Studio2012を閉じる

  2. C:\ Program Files(x86)\ Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssembliesフォルダーに移動し、すべてのレポートビューアーアセンブリ(ファイル名は「Microsoft.ReportDesigner。」で始まり、バージョンは10.0.0.0)をCにコピーします。 :\ Program Files(x86)\ Microsoft Visual Studio 11.0\Common7\IDE\PrivateAssemblies。これを行う前にバックアップしてください。

  3. Visual Studio 2012を起動し、プロジェクトを開きます。

11
Alex Kryvdyk

アレックスの解決策は間違っています、それは機能しますが正しくありません。

単純な解決策は、古いrefenceを現在のバージョンのdllに置き換えることです

削除された参照Microsoft.ReportViewer.WinFormsを削除してから、バージョンがv11.0.0.0である参照Microsoft.ReportViewer.WinFormsを追加しました。

それが役に立てば幸い。

7
lomec

Alexの修正は機能しますが、最終的には以前のバージョンのコントロールになります。レポートビューアコントロールのv11を取得するには、プロジェクトが開いている場合はプロジェクトを閉じてから、c:\ windows\Assemblyを参照します。 Microsoft.ReportViewer.Common.Resourceバージョン11.0.0.0の公開鍵トークンの値をコピーします。プロジェクトファイルを開き、ReportViewerの10.0.0.0バージョンへの参照を検索します。バージョンを11.0.0.0に変更し、公開鍵をコピーした値に変更して、ファイルを保存します。プロジェクトを開くと、ReportViewer参照が正しいバージョンを指しているはずです。

2
NCGrimbo

CodeProject から回答を得ました(以下のリンクを参照)

ライセンスは必要ありません。再配布可能です。

2008 http://www.Microsoft.com/en-us/download/details.aspx?id=6576 [^]

2010 http://www.Microsoft.com/en-us/download/details.aspx?id=6442 [^]

http://www.codeproject.com/Questions/399003/Could-not-load-file-or-Assembly-Microsoft-ReportVi

2
dellyjm

あなたのサイトのビンにdllをアップロードします

このウィンドウからfolder(C:\Program Files (x86)\Microsoft Visual Studio 10.0\ReportViewer)。私はそれを使用しました、そしてそれは働きますMicrosoft.ReportViewer.Common.dllMicrosoft.ReportViewer.WebForms.dllMicrosoft.ReportViewer.WinForms.dll

次のパスで参照を追加します:C:\ Windows\Assembly\GAC_MSIL\Microsoft.ReportViewer.Common\12.0.0.0__89845dcd8080cc91\Microsoft.ReportViewer.Common.dll

C:\ Program Files(x86)\ Microsoft Visual Studio 14.0\ReportViewer\Microsoft.ReportViewer.WinForms.dll

0