2010-02-01 14 views
13

मुझे ब्लेंड रिपोर्टिंग के साथ निराशाजनक समय है "विंडोज प्रेजेंटेशन फाउंडेशन (डब्ल्यूपीएफ) प्रोजेक्ट में विंडो समर्थित नहीं है।" असुरक्षित विन्यास के कारण, लेकिन यह काफी काम नहीं कर सकता कि इससे बाहर निकलने का तरीका कैसे है।मिश्रण "विंडो एक WPF प्रोजेक्ट में समर्थित नहीं है"

मैंने काम किया है शायद यह x86 और x64 विन्यास के साथ एक समाधान करने की कोशिश करने के कारण है। ब्लेंड 2 को बताने का कोई तरीका नहीं है जो सक्रिय समाधान कॉन्फ़िगरेशन और सक्रिय समाधान प्लेटफ़ॉर्म है।

मुझे लगता है कि जिस तरह से मैं चीजों को सेट कर लेने विन्यास प्रणाली में एक कमजोरी, या हो सकता है का एक सा है, लेकिन मैं Debug64 और डीबग समाधान विन्यास प्रत्येक से एक मंच 86 के साथ प्रयोग किया जाता है है 64।

मुझे यह भी लगता है कि यह एक साधारण सॉर्टिंग समस्या है - x64 x86 से पहले आता है और डीबग डीबग 64 से पहले आता है इसलिए ब्लेंड x64 के साथ डीबग की एक असीमित कॉन्फ़िगरेशन के साथ समाप्त होता है।

जब मैं वीएस में डीबग और एक्स 64 का संयोजन चुनता हूं, तो इसका एक्सएएमएल संपादक या तो लोड नहीं कर सकता है।

समाधान एक मामूली जटिल है - एक शुद्ध Win32 DLL, सी ++/सीएलआई मॉडल प्रोजेक्ट और मुख्य WPF प्रोजेक्ट द्वारा उपयोग की जाने वाली दो अन्य WPF असेंबली है।

अद्यतन मैंने अपने समाधान से सभी x64 कॉन्फ़िगरेशन को फटकारा है और बिना किसी प्रभाव के सबकुछ पुनर्निर्मित किया है।

मैंने फिर ब्लेंड 2 अनइंस्टॉल किया और मिश्रण 3 स्थापित किया - यह चीजों को पसंद नहीं करता है।

विजुअल स्टूडियो एक्सएएमएल संपादक अभी भी बहुत खुश है क्योंकि कार्यक्रम निर्माण और चल रहा है।

(आउंस से हताशा का गला चीख की गूँज)

उत्तर

17

ब्लेंड समाधान की आवश्यकता है भी विन्यास प्रबंधक में एक AnyCPU मंच है।
समाधान में कोई सी ++ (सी ++/सीएलआई समेत) परियोजनाएं लोड नहीं की जाएंगी।

मेरे पास मेरे समाधान में कोई भीCPU + x86 + x64 प्लेटफॉर्म है, कोई भीCPU गैर सी # प्रोजेक्ट नहीं बनाता है।

किसी भीCPCP C# dlls में विंडो/नियंत्रण रखें, इसलिए उन्हें मिश्रण में संपादित किया जा सकता है।
(उनमें से 86/64 परियोजनाओं को संदर्भित न करें।)

x86 और x64 केवल (कोई AnyCPU) के रूप में exe सेट करें - मिश्रण में (कोई AnyCPU) नहीं चलेंगे, लेकिन समाधान अभी भी निर्माण होगा।

1) गुम संदर्भ:

+0

ग्रेट, यह तय है! मैंने एक एसीसीपीयू कॉन्फ़िगरेशन और प्लेटफ़ॉर्म जोड़ा और इसके लिए सभी सी # बनाया, इसके साथ ही Win32 C++/CLI प्रोजेक्ट का संदर्भ दिया गया और यह अब ब्लेंड में संपादन योग्य है। –

+0

उत्तर के लिए धन्यवाद, इसे "स्वीकार नहीं किया जा सकता" क्योंकि स्वीकार्य टिक रूपरेखा गुम है, मान लें कि यह बक्षीस के कारण है, पहली बार मैंने एक प्रश्न पर एक बक्षीस डाला है। –

+0

मेटा से पूछने का प्रयास करें कि बक्षीस प्रणाली का उपयोग कैसे करें। (इसे कभी भी इस्तेमाल नहीं किया)। –

10

भी कुछ अन्य कारणों से ऐसा हो सकता है कर रहे हैं। प्रेजेंटेशनकोर, प्रेजेंटेशन फ्रेमवर्क, और विंडोजबेस

पर एक संदर्भ जोड़ें, यह गलत प्लेटफार्म से डीडीएस की तलाश भी कर सकता है। मैंने निम्नलिखित परिवर्तन करके मेरी समस्या हल की:

में।सवाल में csproj फ़ाइल, करने के लिए

<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> 
+2

मैट, क्या आप अपने परिवर्तन के परिणामों से अवगत हैं? यदि आपके पास कोई भी x86 DLL लिंक है, तो आपका ऐप अब x64 मशीन पर नहीं चलेगा। –

+0

यही कारण है कि यह असफल रहा था। सुविधाजनक रूप से, मेरे पास AnyCPU में मेरी सभी निर्भरताओं के निर्माण की लक्जरी है। – MattS423

+0

x86 और x64 दोनों पर सफलतापूर्वक काम करने के लिए मेरा निम्न उत्तर देखें: http://stackoverflow.com/a/6446638/38368 –

3

मैं VS2010 और Blend4 के साथ इस मुद्दे में आए इस लाइन

<Platform Condition=" '$(Platform)' == '' ">x86</Platform> 

बदल जाते हैं। अचानक मेरी परियोजना मिश्रण में प्रस्तुत नहीं होगी।

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

0

मेरी तरफ, मैं इस समस्या इस तरह से हल:

  • AnyCPU चाल (लेकिन पर्याप्त नहीं ...)
  • अनलोड परियोजना, संपादित प्रोजेक्ट फ़ाइल, 4.0 ढांचे के संदर्भ में देखते हैं और उन्हें बदलने 4.5 (लक्ष्य और न्यूनतम आवश्यक संस्करण)।

समाधान पुनर्निर्माण, तो WPF 4.5 के लिए मिश्रण पूर्वावलोकन त्रुटि मैसेज दिखाने के लिए रुक गया (विंडो समर्थित नहीं है ...)।

धन्यवाद मुझे ट्रैक पर रखने के लिए धन्यवाद!

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