2011-10-27 11 views
7

Mam aplikacja, która odwołuje się do tego zespołu w środowiskach programistycznych:Binding przekierowanie nie powiedzie - inny TokenKluczaPublicznego

name="Microsoft.Data.SqlXml" culture="neutral" publicKeyToken="89845dcd8080cc91" version="9.0.242.0" 

Jednak serwer żywo zawiera starą wersję tej biblioteki:

name="Microsoft.Data.SqlXml" culture="neutral" publicKeyToken="b77a5c561934e089" version="3.2.2917.0" 

jak widać TokenKluczaPublicznego jest inny. Dodałem bindingRedirect do app.config:

<runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
     <dependentAssembly> 
      <assemblyIdentity name="Microsoft.Data.SqlXml" culture="neutral" publicKeyToken="89845dcd8080cc91" /> 
      <bindingRedirect oldVersion="9.0.242.0" newVersion="3.2.2917.0"/> 
     </dependentAssembly> 
    </assemblyBinding> 
</runtime> 

ale nadal pojawia się błąd:

Unhandled Exception: System.IO.FileNotFoundException: Could not load file or ass embly 'Microsoft.Data.SqlXml, Version=3.2.2917.0, Culture=neutral, PublicKeyToke n=89845dcd8080cc91' or one of its dependencies. The system cannot find the file specified. File name: 'Microsoft.Data.SqlXml, Version=3.2.2917.0, Culture=neutral, PublicKe yToken=89845dcd8080cc91' ---> System.IO.FileNotFoundException: Could not load fi le or assembly 'Microsoft.Data.SqlXml, Version=9.0.242.0, Culture=neutral, Publi cKeyToken=89845dcd8080cc91' or one of its dependencies. The system cannot find t he file specified. File name: 'Microsoft.Data.SqlXml, Version=9.0.242.0, Culture=neutral, PublicKey Token=89845dcd8080cc91'

Czy istnieje jakiś sposób, aby przekierować do starszej wersji biblioteki w tym przypadku?

Odpowiedz

8

Nie możesz przekierować zespołu, jeśli klucz publiczny jest inny. Obawiam się, że będziesz musiał przekompilować ze starszą wersją i usunąć przekierowanie.

+0

Dzięki, robię to codziennie. Zmieniam odniesienie do starego zespołu przed wydaniem na żywo. Szkoda. Dzięki. – dragonfly

Powiązane problemy