Active Reports 3新的dll版本绑定重定向无法正常工作

时间:2010-05-25 12:31:15

标签: .net report

我最近对我使用的Active Reports 3(AR3)报告DLL之一进行了一些升级,我需要使用5.3.1436.2(以前使用5.2.835.2)。现在,这是30个中的一个报告dll,我不想更改每个报告dll的引用并测试它们。我只是没有时间这样做。所以这就是我认为会起作用的。

我的dll引用了5.3版本的AR3 dll。

AR3 dll与我的dll一起位于Web应用程序的bin文件夹中。

然后我为每个dll将以下内容添加到web.config:

<dependentAssembly>
            <assemblyIdentiy name="ActiveReports3"  publicKeyToken="cc4967777c49a3ff"  />
            <bindingRedirect oldVersion="5.2.835.2" newVersion="5.3.1436.2" />
</dependentAssembly>

我事先检查过以确保5.2和5.3版本的publicKeyTokens是相同的。我也尝试了上面的例子和旧版本的range,但都没有工作。

但是,任何不直接引用其解决方案中的5.3 dll的报告dll都不起作用。如果无法找到dll的5.2版本或其中一个依赖项,则总会出现错误。

我已经尝试将每个版本分别添加到GAC,无论是同时还是完全没有。没有变化奏效。据我所知,这是绑定重定向的意图。

非常感谢任何帮助

编辑:管理以使fuslogvw正常工作,这是日志:

LOG: Assembly Name is: ActiveReports.PdfExport, Version=5.3.1436.2, Culture=neutral, PublicKeyToken=cc4967777c49a3ff
WRN: Comparing the assembly name resulted in the mismatch: Minor Version
ERR: The assembly reference did not match the assembly definition found.
ERR: Setup failed with hr = 0x80131040.
ERR: Failed to complete setup of assembly (hr = 0x80131040). Probing terminated.

请注意,这是使用web.config中的绑定重定向。

1 个答案:

答案 0 :(得分:1)

我知道这已经过时了,但你差不多了。

上面列出的assemblyIdentity适用于ActiveReports3.dll,问题在于其子组件之一ActiveReports.PdfExport。您需要一个更改版本的每个DLL的bindingredirect。痛苦,当然,但至少有一条解决问题的简单途径...前提是publicKeyToken不会改变。