我在 %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 的使用提示来自缺少的 DLL - 10.0.0.0 - 为什么它不会选择 2012 版本?