2011-10-27 16 views
7

मैं एक अनुप्रयोग विकास के वातावरण में इस विधानसभा का संदर्भ देता है है:बाध्यकारी रीडायरेक्ट विफल रहता है - अलग PublicKeyToken

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

आप PublicKeyToken देखने के रूप में:

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

हालांकि, लाइव सर्वर इस पुस्तकालय के पुराने संस्करण शामिल फरक है। मैं app.config को bindingRedirect जोड़ दिया है:

<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> 

लेकिन मैं अभी भी त्रुटि मिलती है:

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'

वहाँ उस मामले में पुस्तकालय के पुराने संस्करण पर रीडायरेक्ट करने कोई तरीका है?

उत्तर

8

यदि सार्वजनिक कुंजी अलग है तो आप किसी असेंबली को रीडायरेक्ट नहीं कर सकते हैं, मुझे डर है, आपको पुराने संस्करण के विरुद्ध पुन: संकलित करने और रीडायरेक्ट को हटाने की आवश्यकता होगी।

+0

धन्यवाद, मैं दैनिक आधार पर यही करता हूं। मैं लाइव रिलीज करने से पहले पुरानी असेंबली के संदर्भ को बदलता हूं। यह शर्मनाक है। धन्यवाद। – dragonfly

संबंधित मुद्दे