2015-09-09 5 views
6

में अवैध मार्कअप देता है।MVVM लाइट और EventToCommand मैं बस के बारे में MVVM लाइट टूलकिट सहित एक मौजूदा WPF परियोजना के साथ VS2015 का उपयोग शुरू करने के लिए था, लेकिन पाया कि WPF/Xaml डिजाइनर के बारे में इस के साथ एक समस्या यह है कि VS2015

परियोजना इस तरह मार्कअप में कुछ EventToCommand टैग में शामिल हैं:

<i:Interaction.Triggers> 
    <i:EventTrigger EventName="Loaded"> 
     <command:EventToCommand Command="{Binding LoadedCommand}"></command:EventToCommand> 
    </i:EventTrigger> 
</i:Interaction.Triggers> 

जब EventToCommand डिजाइनर का निर्माण का उपयोग कर XAML फ़ाइलें लोड फ़ाइल और रिपोर्ट "अवैध मार्कअप" लोड करने के लिए विफल रहता है। त्रुटि सूची तो पता चलता है:

विधानसभा 'GalaSoft.MvvmLight.Platform' से प्रकार 'EventToCommand' ब्लेंड एसडीके के एक पुराने संस्करण के साथ बनाया गया है, और एक विंडोज प्रस्तुति फ्रेमवर्क 4 परियोजना में समर्थित नहीं है।

परियोजना .NET 4.5 लक्षित करने के लिए सेट कर दिया जाता है और यह पूरी तरह से अच्छी तरह से मैं VS2013 सब पर किसी भी बदलाव के बिना काम करता है। यह सब Where do I find Galasoft.MvvmLight.WPF45 assembly? प्रश्न के समान दिखता है लेकिन सुझाए गए समाधान में वीएस2015 में बिल्कुल मदद नहीं है।

मैं MVVM लाइट खाके से बनाए गए एक नई परियोजना में इस परीक्षण किया है लेकिन मैं बहुत कि नई परियोजना के साथ एक ही त्रुटि मिलती है। एमवीवीएम लाइट संस्करण NuGet से MvvmLightLibs 5.2.0 है, मैंने MvvmLightLibs के पुराने v4.x संस्करण के साथ भी परीक्षण किया है।

उत्तर

1

उपयोग System.Windows.Interactivity के इस संस्करण: http://www.microsoft.com/en-us/download/details.aspx?id=10801

तुम भी NuGet पैकेज प्रबंधक के माध्यम से स्थापित कर सकते हैं। System.Windows.Interactivity.WPF

+0

कोशिश की लेकिन आवेदन शुरू करते समय तुरंत XamlParseException में इसका परिणाम हुआ। त्रुटि संदेश कहता है: फ़ाइल या असेंबली 'System.Windows.Interactivity, संस्करण = 4.5.0.0, संस्कृति = तटस्थ, PublicKeyToken = 31bf3856ad364e35' या इसकी निर्भरताओं में से कोई भी लोड नहीं हो सका। स्थित असेंबली की स्पष्ट परिभाषा असेंबली संदर्भ से मेल नहीं खाती है। –

+0

मुझे एमवीवीएम लाइट को संस्करण 5.1.1.0 – Trev

3

के लिए खोज समस्या GAC में System.Windows.Interactivity.dll के पंजीकरण लापता की वजह से हो सकता है। नीचे दिए गए चरण अवैध मार्कअप त्रुटि से बचने में मदद करेंगे।

  1. व्यवस्थापक के रूप में VS2015 के लिए

    प्रारंभ डेवलपर कमांड प्रॉम्प्ट निर्देशिका

  2. बदलें एसडीके मिश्रण करने के लिए:
    सीडी C: \ Program Files (x86) \ Microsoft SDKs \ अभिव्यक्ति \ ब्लेंड \ .NETFramework \ v4.5 \ पुस्तकालय \

  3. रजिस्टर DLL:
    GACUtil मैं System.Windows.Interactivity.dll

संदर्भ: https://connect.microsoft.com/VisualStudio/feedback/details/755407/xaml-designer-will-not-display-when-using-blend-sdk-behaviors

+0

पर भी छोड़ना पड़ा, इसने इस मुद्दे को ठीक किया। –

+0

यह कनेक्ट लिंक काम नहीं करता है। गूगल कैश संस्करण: https://webcache.googleusercontent.com/search?q=cache:y1l8CTUi5mwJ:https://connect.microsoft.com/VisualStudio/feedback/details/755407/xaml-designer-will-not-display- जब-का उपयोग कर-मिश्रण-sdk-व्यवहार + और सीडी = 1 & hl = hi & सीटी = clnk & gl = हमें –

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