2016-12-21 10 views
7

मेरे पास एक बहु-प्रोजेक्ट विजुअल स्टूडियो समाधान लक्ष्यीकरण है .Net 4.5.2। परियोजनाओं में से एक (एक डब्ल्यूपीएफ एप्लीकेशन) में, मैंने सिस्टम को जोड़ने के लिए nuget का उपयोग किया है। प्रतिक्रियाशील संस्करण 3.0.1000.0 पैकेज के बाद ReactiveUI 7.0.0.0 पैकेज।ReactiveUI का सिस्टम के पुराने संस्करण पर निर्भरता क्यों है। सक्रिय?

WPF अनुप्रयोग द्वारा उपयोग की जाने वाली कक्षा लाइब्रेरी में एक अन्य प्रोजेक्ट में, मैंने बस सिस्टम को जोड़ा है। प्रतिक्रियात्मक संस्करण 3.0.1000.0 पैकेज।

प्रतिक्रियाशील यूआई पैकेज प्रतिक्रियाशील पैकेज (आरएक्स-कोर 2.2.5 आदि) के पुराने सेट पर निर्भर करता है। मैं इसे बता सकता हूं क्योंकि डब्ल्यूपीएफ आवेदक प्रोजेक्ट फ़ाइल में हिंटपाथ पैकेज \ Rx-Core.2.2.5 \ lib \ net45 \ System.Reactive.Core.dll

जब मैं बिल्ड और चलाता हूं तो स्थानों पर इशारा कर रहा हूं एप्लिकेशन मुझे एक फ़ाइल लोड अपवाद प्राप्त होता है क्योंकि कम से कम एक परियोजना गलत डीएलएल संस्करण का उपयोग करने का प्रयास कर रही है। निम्नलिखित विशिष्ट है ....

System.IO.FileLoadException occurred 
    HResult=0x80131040 
    Message=Could not load file or assembly 'System.Reactive.Linq, Version=3.0.1000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040) 

मैं 2.2.5 का हल भर में सभी System.Reactive संकुल पदावनति द्वारा इस ठीक करने के लिए सक्षम हो सकता है, लेकिन यह एक बहुत ही पुराने संस्करण (2014) प्रतीत होता है।

ReactiveUI सिस्टम के v2.2.5 पर निर्भरता में क्यों खींच रहा है। प्रतिक्रियाशील? क्या इस व्यवहार को बदलने का कोई तरीका है ताकि मैं सिस्टम के नवीनतम संस्करण का उपयोग कर सकूं। समाधान के दौरान सक्रिय?

उत्तर

7

यह this issue on github में समझाया गया है। लंबी कहानी लघु - प्रतिक्रियाशील एक्सटेंशन का नया संस्करण आरएक्सयूआई 7.0 के विकास चक्र में देर से दिखाई दिया, इसलिए टीम ने इस रिलीज के लिए इसे छोड़ने का फैसला किया। यह मौजूदा ऐप्स को बनाए रखने में लोगों की सहायता करता है - वे एक ही समय में आरएक्स संस्करण को बंप किए बिना आरएक्सयूआई संस्करण को अपग्रेड कर सकते हैं। आरएक्सयूआई 8.0 रिलीज के लिए नवीनतम आरएक्स पर निर्भरता लेना है।

As @shiftkey states it:

नाबालिग एपीआई मंथन कि System.Reactive 3.0 शुरू की के कारण

, और तथ्य यह है कि RxUI 7.0 पहले से ही इतने करीब है, यह था (यह बुनियादी ढांचे और नींव में हो रही चीजों के बारे में अधिक था) निर्णय लिया गया कि अगली बड़ी रिलीज के लिए इसे छोड़ना आसान था।

और हां, अब सभी बुनियादी ढांचे के काम के साथ हम आरएक्सयूआई 8 रिलीज चक्र को ध्यान में रखते हुए लक्ष्य रख रहे हैं।

एक तरफ नोट। तथ्य यह है कि आरएक्स 2.x इतने लंबे समय में अपडेट नहीं किया गया है (2014) उतना बुरा नहीं है जितना यह देख सकता है - यह तकनीक का वास्तव में ठोस टुकड़ा है, और आप बिना किसी चिंता के इसका उपयोग कर सकते हैं। 3.0 में अपग्रेड में बहुत अधिक एपीआई-वार नहीं बदला गया था (और ब्रेकिंग बदलावों को पेश नहीं किया गया था) ताकि अगर आप अभी 2.x तक चिपके रहें, तो बाद में आपके प्रोजेक्ट चक्र में अपग्रेड दर्दनाक नहीं होना चाहिए। उपयोगी जानकारी -

बहरहाल, अगर तुम सच में RxUI साथ आरएक्स 3.0 आज उपयोग करना चाहते हैं, मैं तुम्हें project slack channel में शामिल होने और, परियोजना में भाग लेने से खून बह रहा किनारे विज्ञप्ति परीक्षण और

+0

धन्यवाद अपने आप को योगदान दे :) द्वारा करने के लिए सुझाव देते हैं। :-) – NeilMacMullen

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