2010-05-25 14 views
0

我最近做了一些升級到我使用的Active Reports 3(AR3)報告DLL之一,並且我需要使用5.3.1436.2(以前使用5.2.835.2)。現在,這是30個報告中的一個報告,我不想更改每個報告dll的引用並測試它們。我只是沒有時間這樣做。所以這是我認爲會起作用的。Active Reports 3新的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> 

我的手前檢查,以確保publicKeyTokens者爲5.2和5.3版本相同。我也嘗試了上面的例子,並且舊版本的range,但都沒有工作。

但是,任何不直接引用其解決方案中的5.3 dll的報告dll不起作用。總是會有一個錯誤導致無法找到dll的某個版本或其某個依賴項。

我已經嘗試將每個版本分別添加到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

我知道這是舊的,但你幾乎已經擁有了它。

上面列出的assemblyIdentity適用於ActiveReports3.dll,問題在於其子組件之一ActiveReports.PdfExport。您需要爲每個修改版本的DLL都設置一個綁定重定向。痛苦,當然,但至少有一個簡單的方法來解決問題...只要publicKeyToken不會改變。