विजुअल स्टूडियो 2008 ने ए असेंबली B
से एक असेंबली A
को संदर्भित करने दिया था जब ए लक्ष्यीकरण कर रहा था .NET 3.5 और B .NET 2.0 को लक्षित कर रहा था।विजुअल स्टूडियो 2010: उच्च फ्रेमवर्क संस्करण को लक्षित करने वाली संदर्भ असेंबली
विजुअल स्टूडियो 2010 यह किसी भी अधिक के लिए अनुमति नहीं है। पूर्ण मुद्दा MSDN पर वर्णित है:
आप अनुप्रयोगों बना सकते हैं कि संदर्भ परियोजनाओं या विधानसभाओं जो .NET फ्रेमवर्क के लक्ष्य विभिन्न संस्करणों। उदाहरण के लिए, आप एक आवेदन जो .NET फ्रेमवर्क 4 ग्राहकों का प्रोफाइल लक्षित करता है, परियोजना एक विधानसभा संदर्भित कर सकते हैं कि बनाते हैं कि लक्ष्य .नेट फ्रेमवर्क संस्करण 2.0। हालांकि, अगर आप एक परियोजना है कि लक्ष्य नेट फ्रेमवर्क के पिछले संस्करण, आप एक परियोजना या विधानसभा जो .NET फ्रेमवर्क 4 ग्राहकों का प्रोफाइल या लक्षित करता है कि परियोजना में एक संदर्भ सेट नहीं कर सकता बनाते हैं। नेट फ्रेमवर्क 4। त्रुटि को खत्म करने के लिए, सुनिश्चित करें कि द्वारा लक्षित प्रोफ़ाइल परियोजनाओं द्वारा लक्षित प्रोफ़ाइल या आपके एप्लिकेशन द्वारा संदर्भित असेंबली के साथ संगत है।
क्या कोई तरीका है कि मैं इस संबंध में वीएस -2010 की तरह व्यवहार करने के लिए वीएस -2010 प्राप्त कर सकता हूं (यानी उच्च ढांचे के संस्करणों को लक्षित करने वाले असेंबली के संदर्भों की अनुमति देता है)?
मैं VS 2010 व्यवहार और तैनाती विचार मैं के बारे में पता करने की आवश्यकता है के पीछे तर्क पता है, दोहराने की जरूरत है।
सटीक त्रुटि है:
चेतावनी MSB3268: प्राथमिक संदर्भ "xxx.dll" हल नहीं किया जा सका क्योंकि यह ढांचे विधानसभा पर एक अप्रत्यक्ष निर्भरता है "System.Core, संस्करण = 3.5.0.0, संस्कृति = तटस्थ, PublicKeyToken = b77a5c561934e089 "जो वर्तमान में लक्षित ढांचे में हल नहीं किया जा सकता है। ".NETFramework, संस्करण = v2.0"। इस समस्या को हल, या तो संदर्भ "xxx.dll" हटाने या एक ढांचा संस्करण जो "System.Core होता है, संस्करण = 3.5.0.0, संस्कृति = तटस्थ करने के लिए अपने आवेदन तरीके से पुनः करने के लिए, PublicKeyToken = b77a5c561934e089 "।
मैं थोड़ी देर में हूं कि आप ऐसा क्यों करना चाहते हैं। पूरे ऐप को फिर भी शुरू करने के लिए ढांचे के उच्च संस्करण की आवश्यकता नहीं होगी? इस मामले में, क्या यह चारों ओर उच्च संस्करण को लक्षित करने के लिए समझ में नहीं आता है? – cHao
व्याख्या करना मुश्किल है लेकिन इसके पीछे एक उचित आवश्यकता है। –
उचित आवश्यकता: 2.0 एएसपी.NET साइट और 3.5 WinForms ऐप द्वारा साझा व्यवसाय तर्क असेंबली ("बीएल")। वेबसाइट पुराने एंटरप्राइज़ लाइब्रेरी 3.1 का उपयोग करती है और WinForms ऐप नए EntLib 5.0 का उपयोग करता है।WinForms के लिए निर्माण करते समय, बीएल को नए एंटीलिब के संदर्भों को स्विच करने की आवश्यकता होती है, जो कि 3.5 हैं, लेकिन बीएल को अभी भी 2.0 प्रोजेक्ट के साथ काम करने के लिए एक 2.0 प्रोजेक्ट होना चाहिए। VS2008 ने इसे कॉन्फ़िगरेशन स्विच करके होने की अनुमति दी, लेकिन वीएस -2010 उपरोक्त त्रुटि को फेंकता है क्योंकि एंटीलिब 5.0 3.5 संदर्भों (विशेष रूप से, System.Core) की अपेक्षा कर रहा है। –