引用 Microsoft.ReportViewer.WebForms
Referencing Microsoft.ReportViewer.WebForms
我在我的 MVC 项目中引用了这些程序集
Microsoft.ReportViewer.WebForms
Microsoft.ReportViewer.Common
版本是 11.0 但我将其设置为 SpecificVersion = False 和 CopyLocal = False
但在部署时,我不断收到此错误:
无法加载文件或程序集'Microsoft.ReportViewer.WebForms,版本=11.0.0.0,
GAC 中的可用版本是 10.0 和 12.0,但我认为它应该简单地加载这个(希望是 12.0,因为它是最新版本),因为我将 CopyLocal 设置为 false。我在这里做错了什么?是否有最佳实践,因为我们真的不知道客户在他们的 GAC 中有什么版本,但我们希望支持这两个版本。
SpecificVersion = False 只是对编译器的提示。编译后,您的项目将绑定到该程序集的特定版本。
由于不同的程序集版本可能存在差异且彼此不兼容,因此仅选择任何可用版本是不安全的。
解决方案:
- 仅支持一个 ReportViewer 版本
- 不同的 ReportViewer 版本有不同的项目
- 使用reflection
- 使用binding redirects
我在我的 MVC 项目中引用了这些程序集 Microsoft.ReportViewer.WebForms Microsoft.ReportViewer.Common
版本是 11.0 但我将其设置为 SpecificVersion = False 和 CopyLocal = False
但在部署时,我不断收到此错误:
无法加载文件或程序集'Microsoft.ReportViewer.WebForms,版本=11.0.0.0,
GAC 中的可用版本是 10.0 和 12.0,但我认为它应该简单地加载这个(希望是 12.0,因为它是最新版本),因为我将 CopyLocal 设置为 false。我在这里做错了什么?是否有最佳实践,因为我们真的不知道客户在他们的 GAC 中有什么版本,但我们希望支持这两个版本。
SpecificVersion = False 只是对编译器的提示。编译后,您的项目将绑定到该程序集的特定版本。
由于不同的程序集版本可能存在差异且彼此不兼容,因此仅选择任何可用版本是不安全的。
解决方案:
- 仅支持一个 ReportViewer 版本
- 不同的 ReportViewer 版本有不同的项目
- 使用reflection
- 使用binding redirects