कभी-कभी, जब आप एक नया पुस्तकालय जोड़ते हैं, तो एक क्लैशिंग संस्करण पेश करता है System.Windows.Interactivity.dll।
उदाहरण के लिए, NuGet पैकेज MVVM light लिए v4.2 की आवश्यकता हो सकती है System.Windows.Interactivity.dll, लेकिन NuGet पैकेज के Rx-XAMLलिए v4.5 की आवश्यकता हो सकती है System.Windows.Interactivity.dll। यह परियोजना को काम करने से रोकेगा, क्योंकि कोई भी संस्करण जिसमें System.Windows.Interactivity.dllआप शामिल नहीं हैं, पुस्तकालयों में से एक संकलन करने से इनकार कर देगा।
ठीक करने के लिए, app.configइस तरह से कुछ देखने के लिए संपादन करके एक असेंबली बाइंडिंग रीडायरेक्ट जोड़ें :
<?xml version="1.0"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Windows.Interactivity"
publicKeyToken="31bf3856ad364e35"
culture="neutral"/>
<bindingRedirect oldVersion="4.0.0.0"
newVersion="4.5.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/></startup>
<appSettings>
<add key="TestKey" value="true"/>
</appSettings>
इसे बदलने की चिंता न करें PublicKeyToken, यह सभी संस्करणों में स्थिर है, क्योंकि यह .dll के नाम पर निर्भर करता है, संस्करण पर नहीं।
सुनिश्चित करें कि आप newVersionअपने appConfigवास्तविक संस्करण में मैच करते हैं जिसे आप इंगित करते हैं:
