%WINDIR%/Assembly に Microsoft.ReportViewer.WinForms バージョン 11.0.0.0、publickeytoken 89845dcd8080cc91 があります。実際のファイル バージョンは 11.0.3412.0 です。2012 ReportViewer 再頒布可能パッケージがインストールされています。.NET 4.0 C# プロジェクトへの参照を追加しようとしましたが、選択できるのは 10.0.0.0、ファイル バージョン 10.0.40219.329 だけです。したがって、%PROGRAMFILES% (x86)/Microsoft Visual Studio 12.0/ReportViewer/Microsoft.ReportViewer.WinForms.dll を参照すると、11.0 バージョンとして表示されますが、csproj ファイルを追加すると、10.0 バージョンが参照されます。
<Reference Include="Microsoft.ReportViewer.WinForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>C:\Program Files (x86)\Microsoft Visual Studio 12.0\ReportViewer\Microsoft.ReportViewer.WinForms.dll</HintPath>
</Reference>
ビルドして 32 ビット マシンにデプロイすると、不足している DLL (10.0.0.0) から dll プロンプトを使用すると、2012 バージョンが取得されないのはなぜですか?