2013-01-08 9 views
10

से माइग्रेशन मेरे पास एक दृश्य स्टूडियो 2008 समाधान और .NET Framework v3.5 है। हाल ही में मैंने विजुअल स्टूडियो 2010 और .NET Framework v4.0 में परिवर्तित कर दिया है।नेट फ्रेमवर्क v3.5 से v4.0

.NET Framework v4.0 में बदलने के लिए मैंने प्रोजेक्ट गुणों के माध्यम से किया है और प्रत्येक प्रोजेक्ट के लिए फ्रेमवर्क v4.0 को लक्षित करने के लक्ष्य को बदलकर टैब बनाया है। लेकिन अगर मैं विन्यास प्रोजेक्ट फाइल csproj खोलते हैं, तो मैं देख सकता हूँ v3.5 से संबंधित एक टैग है:

<ItemGroup> 
    <Reference Include="System" /> 
    <Reference Include="System.Core"> 
    <RequiredTargetFramework>3.5</RequiredTargetFramework> 
    </Reference> 
    <Reference Include="System.Data" /> 
    <Reference Include="System.Drawing" /> 
    <Reference Include="System.Xml" /> 
    <Reference Include="WindowsBase"> 
    <RequiredTargetFramework>3.0</RequiredTargetFramework> 
    </Reference> 
</ItemGroup> 

मुझे पता है कि क्यों कुछ संदर्भ शामिल के लिए v3.0 करने के लिए बात कर रहा है चाहते हैं, v3.5 फ्रेमवर्क अगर परियोजना .NET Framework v4.0 को लक्षित करता है। परियोजना के नेट फ्रेमवर्क v4.0 को लक्षित करने के बावजूद यह अन्य परियोजनाओं के लिए भी होता है।

System.Core 3.5 WindowsBase को लक्षित कर रहा है 3.0

+2

इस प्रकार आईडीईई को .NET के प्रारंभिक संस्करण का चयन करते समय चेतावनी आइकन दिखाना जानता है। फ़ीचर, एक बग नहीं। –

उत्तर

2

उन संदर्भों को लक्षित कर रहा है खुद को (System.Core के लिए) 3.5 और 3.0 (WindowsBase के लिए) की आवश्यकता होती है। असल में, यह 100% सही नहीं है (इस जवाब के लिए रामाउंड की टिप्पणी देखें)।

अभी तक, 2.0 से ऊपर कोई भी .NET ढांचा अनिवार्य रूप से 2.0 के शीर्ष पर डीएलएल है। उदाहरण के लिए, कुछ साल और एक नौकरी पहले, मुझे LINQ और हैशसेट < टी > की आवश्यकता थी .NET 2.0 में, क्योंकि मेरे आधे उपयोगकर्ता Win2K पर फंस गए थे, जो .NET 2.0 से ऊपर कुछ भी समर्थन नहीं करता है। मैंने सिस्टम को पुन: कंपाउंड किया। Mono से अधिक और इसे 2.0 लक्षित किया गया था, और नई सुविधाओं का उपयोग करने में सक्षम था।

मुझे नहीं लगता कि यह आपको चिंता करने की ज़रूरत है।

+0

मुझे यह इंगित करना चाहिए कि RequiredTargetFramework दोनों XML तत्व भी खाली हैं। इसका मतलब है कि 3.5 या 3.0 के लिए लक्षित कोई संदर्भ नहीं हैं। यदि आप चाहते थे कि आप समाधान फ़ाइल को हाथ से संशोधित कर सकें और उन पंक्तियों को हटा दें। –

+0

@ रामहाउंड: अच्छा बिंदु। मैंने कभी भी csproj फ़ाइलों में बहुत कुछ नहीं देखा है, इसलिए मुझे यह नहीं पता था। –

+0

मैंने विभिन्न कारणों से समाधान फ़ाइल को संशोधित करने के लिए काम करने में कई दिन बिताए। इस मामले में आपका पहला वाक्य 100% सही नहीं है। इस तरह की स्थिति में 'System.Core' संस्करण .NET Framework 4.0 और' WindowsBase' के साथ शामिल होगा जो WPF अनुप्रयोगों के लिए भी होगा .NET Framework 4.0 –

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