वीएस -2010, सिल्वरलाइट 4, .NET 4 में, मेरे पास डब्ल्यूसीएफ सेवा और सिल्वरलाइट ऐप है, और सिल्वरलाइट क्लास को सेवा संदर्भ जोड़ें के साथ नहीं बल्कि अनुबंध साझा करके एक्सेस कर रहा है। स्वाभाविक रूप से, इसका मतलब है कि मेरे पास सिल्वरलाइट क्लास लाइब्रेरी में अनुबंध है, और सेवा में उस लाइब्रेरी का प्रोजेक्ट संदर्भ है।

आश्चर्यजनक रूप से, इसका परिणाम संदर्भ पर एक /!\ आइकन और एक चेतावनी में होता है:

परियोजना 'SilverlightClassLibrary1' को संदर्भित नहीं किया जा सकता है। संदर्भित परियोजना एक अलग ढांचा परिवार (सिल्वरलाइट) के लिए लक्षित है

हालांकि, संदर्भ ठीक काम करता है (मैं अपने सिल्वरलाइट ऐप में इंटरफ़ेस का उपयोग कर सकता हूं) और ठीक बनाता है।

क्या यह एक बग है? मेरा अनुमान हाँ है, क्योंकि चेतावनी झूठ बोल रही है और यदि आप प्रोजेक्ट संदर्भ के बजाय असेंबली संदर्भ जोड़ते हैं तो यह भी दूर हो जाता है। मैंने एक बग और और भी जानकारी है यहां भी।

16
nlawalker 8 मई 2010, 03:15
ध्यान दें कि यह केवल एक चेतावनी है। मैंने ऐसा ही देखा है - वास्तव में, इसलिए मैंने SerializerGenerator चित्र में "संदर्भ" का विस्तार नहीं किया, यहाँ marcgravell.blogspot.com/2010/04/… (MyDto प्रोजेक्ट आपकी तरह सिल्वरलाइट है ) अच्छा सवाल, यद्यपि। परियोजना/डीएलएल संदर्भ के बीच अंतर फिर से अच्छी जगह है। मैं जो कर रहा हूं उसके लिए मैं इसे जाने दूंगा ;-p
 – 
Marc Gravell
8 मई 2010, 03:19
दिलचस्प। क्या यह शिकायत करता है कि, एक डीएलएल संदर्भ जोड़ने के बजाय आप फाइलों को जोड़कर अनुबंधों को सिल्वरलाइट डीएलएल में शामिल करते हैं?
 – 
Doobi
8 मई 2010, 18:51
नहीं, यह शिकायत नहीं करता है, क्योंकि आप सचमुच कोड को किसी अन्य असेंबली में कॉपी कर रहे हैं।
 – 
nlawalker
27 मई 2010, 02:55

2 जवाब

सबसे बढ़िया उत्तर

माइक्रोसॉफ्ट ने बग मैंने पोस्ट किया। चेतावनी मौजूद होने का इरादा है और चेतावनी होने का इरादा है और त्रुटि नहीं है, हालांकि मैं तर्क दूंगा कि पाठ खराब है। इसका कारण यह है कि सिल्वरलाइट प्रोजेक्ट को संदर्भित करने से रनटाइम विफल हो जाएगा यदि सिल्वरलाइट मशीन पर ठीक से स्थापित नहीं है। वर्तमान में चेतावनी को दबाने का कोई तरीका नहीं है।

15
nlawalker 27 मई 2010, 03:10
2
मैं थोड़ा उलझन में हूं - क्या इसका मतलब यह है कि मेरी डब्ल्यूसीएफ सेवा होस्ट करने वाले सर्वर पर सिल्वरलाइट स्थापित किया जाना है? उपयोगी जानकारी प्रदान करने के लिए धन्यवाद
 – 
tomfumb
11 अगस्त 2011, 03:59
1
हम्म, यूआरएल अब काम नहीं कर रहा है। क्या आपको इसका नाम याद है, ताकि मैं इसे फिर से खोजने की कोशिश कर सकूं? मैंने "संदर्भित प्रोजेक्ट को खोजने का प्रयास किया माइक्रोसॉफ्ट कनेक्ट में एक अलग फ्रेमवर्क परिवार (सिल्वरलाइट)", लेकिन कुछ भी नहीं निकला।
 – 
Borislav Ivanov
22 अक्टूबर 2012, 17:13

यदि आप चाहते हैं कि चेतावनी गायब हो जाए तो आप "संदर्भ जोड़ें" -> "ब्राउज़ करें" का उपयोग करके सीधे "संदर्भ जोड़ें" -> "प्रोजेक्ट्स" के माध्यम से प्रोजेक्ट जोड़ने के बजाय डीएलएल जोड़ सकते हैं।

यह हमारे लिए भी एक बहुत ही कष्टप्रद मुद्दा था और यह एकमात्र समाधान था जो हमने पाया कि काम किया।

3
amurra 9 अगस्त 2010, 19:58
यह एक अच्छा समाधान नहीं है क्योंकि यह रिलीज बनाम डीबग बिल्ड को संबोधित नहीं करता है। गलत प्रकार पर एक साफ कार्यक्षेत्र निर्माण विफल हो जाएगा क्योंकि डीएलएल तब तक मौजूद नहीं होगा जब तक कि आप अपने स्रोत नियंत्रण में डीएलएल को स्थिर रूप से चेकइन नहीं करते हैं या आप उस प्रोजेक्ट निर्भरता के लिए उसी फ़ोल्डर में डीबग/रिलीज के लिए आउटपुट निर्देशिका सेट करते हैं। फिर भी विशेष रूप से बहु-थ्रेडेड बिल्ड के लिए, प्रोजेक्ट के सही बिल्ड ऑर्डर की गणना के लिए समाधान में बिल्ड प्रोजेक्ट निर्भरता नहीं होगी।
 – 
Shiv
7 अगस्त 2017, 01:06