वर्तमान .NET SDK Visual Studio 2017 अद्यतन 15.3 में .NET मानक 2.0 त्रुटि को लक्षित करने का समर्थन नहीं करता है


119

मैं लक्ष्य फ्रेमवर्क .NET मानक 2.0 के साथ एक क्लास लाइब्रेरी प्रोजेक्ट बनाना चाहता हूं।

मैंने अपने Visual Studio 2017संस्करण में अपडेट 15.3किया है .NET Framework 4.7 SDKऔर विज़ुअल स्टूडियो इंस्टॉलर में भी .NET Framework 4.7 targeting packमैन्युअल रूप से जाँच की और उन्हें स्थापित किया है।

.NET Standard 2.0प्रोजेक्ट / एप्लिकेशन विंडो में अभी भी टारगेट फ्रेमवर्क कॉम्बो बॉक्स में कोई विकल्प नहीं है । इसलिए मैंने टारगेटफ़्रेमवर्क टैग को .csprojफ़ाइल में मैन्युअल रूप से बदल दिया netstandard2.0, लेकिन निर्माण करने की कोशिश करने के बाद मुझे यह त्रुटि मिली:

वर्तमान .NET SDK .NET मानक 2.0 को लक्षित करने का समर्थन नहीं करता है। या तो .NET मानक 1.6 या उससे कम लक्ष्य करें, या .NET मानक 2.0 का समर्थन करने वाले .NET SDK के एक संस्करण का उपयोग करें।


4
क्या आपके पास global.jsonअपनी .NET Core SDK को 1.x करने के लिए एक फ़ाइल है? क्या आपने .NET कोर 2.0 एसडीके को अलग से स्थापित किया है? (मुझे उम्मीद है कि इसे वीएस के साथ शामिल किया जाएगा, लेकिन इसे वैसे भी स्थापित करने के लिए चोट नहीं पहुंचेगी।)
जॉन स्कीट

1
@JonSkeet ने .NET कोर 2.0 एसडीके को अलग से स्थापित करने का काम किया। यदि आप अपने सुझाव को यहां एक उत्तर के रूप में जोड़ते हैं तो अच्छा होगा।
सहर

जवाबों:


144

ऐसा लगता है कि उस विशिष्ट संस्करण के लिए VS2017 अद्यतन स्थापित करने से .NET .NET 2.0 SDK भी स्थापित नहीं हुआ। आप यहाँ डाउनलोड कर सकते हैं

यह जांचने के लिए कि एसडीके का कौन सा संस्करण आपको पहले से स्थापित है, चलाएं

dotnet --info

कमांड लाइन से। ध्यान दें कि यदि global.jsonआपकी वर्तमान कार्य निर्देशिका या किसी पूर्वजों की निर्देशिका में कोई फ़ाइल है, तो वह SDK के कौन से संस्करण को चलाएगी। (यह उपयोगी है यदि आप किसी परियोजना के लिए एक विशेष संस्करण को लागू करना चाहते हैं, उदाहरण के लिए।)

टिप्पणियों से परखने के बाद, VS2017 अपडेट के कुछ संस्करणों कर नेट कोर एसडीके स्थापित करें। मुझे संदेह है कि यह समय के साथ कुछ भिन्न हो सकता है।


1
@Marwie: netstandard2.0 को लक्षित करने के लिए, मुझे संदेह है कि आप करते हैं। मैंने 1.0 SDK के साथ लक्ष्यीकरण की कोशिश नहीं की है, लेकिन अगर यह विफल हुआ तो मुझे आश्चर्य नहीं होगा। आप अभी भी 1.0 एसडीके के साथ netstandard1.X को लक्षित कर सकते हैं।
जॉन स्कीट

6
ठीक है - मैं इस विषय पर नया हूँ - मैं .net कोर और .net मानक के बीच घनिष्ठ संबंध के बारे में आश्चर्यचकित था - ऐसी निर्भरता से बाहर निकलने के लिए .net मानक बनाने का कारण नहीं था? यह एक अलग पैकेज में जहाज क्यों नहीं करेगा?
Marwie

1
@Marwie: खैर, .NET कोर एसडीके .NET कोर रनटाइम से अलग है, जो .NET मानक से अलग है। लेकिन एसडीके "लक्ष्य रूपरेखाओं के एक सेट" के बारे में जानता है, और मुझे आश्चर्य नहीं है कि यह भविष्य के साथ काम नहीं करेगा । यह C # 7 कोड को संकलित करने के लिए Visual Studio 2013 की अपेक्षा करने जैसा है। हालांकि संभवतः यह MS के लिए संभव है कि इसे इंजीनियर किया जाए ताकि आपको netstandard2.0 को लक्षित करने के लिए .NET Core 2.0 SDK की आवश्यकता न हो, यह एक अजीब उपयोग का मामला होगा, चाहे वह IMO हो।
जॉन स्कीट

3
सभी .net Core 1.x SDKs को अनइंस्टॉल करने के बाद मुझे त्रुटि मिली। मेरे पास अभी भी माइक्रोसॉफ्ट था। .NET कोर एसडीके 2.0.2, 2.0.3, 2.1.1 और 2.1.2 स्थापित और वीएस 2017 5.2। एक बार मैंने वर्तमान Microsoft की मैन्युअल स्थापना की। .NET कोर SDK (2.1.3) मैं फिर से अपनी परियोजनाओं को संकलित कर सकता हूं। मुझे आश्चर्य है कि 1.x एसडीके को हटाने में क्या 2.x एसडीके टूट गया।
SOHO डेवलपर

2
@ जस्टिन: ठीक है, ऐसा लगता है कि या तो 2.1.4 एसडीके ठीक से स्थापित नहीं हुआ है, या आपको एक वैश्विक संस्करण मिला है। इसे एक पुराने संस्करण में पिन करना है।
जॉन स्कीट

20

जबकि उपर्युक्त उत्तरों से मेरी समस्या हल नहीं हुई। मैंने अंत में इसे विशेष रूप से इस लिंक https://www.microsoft.com/net/download/visual-studio-sdks पर जाकर हल किया और विज़ुअल स्टूडियो के लिए आवश्यक एसडीके डाउनलोड किया । यह वास्तव में भ्रामक था और मुझे समझ में नहीं आता कि क्यों लेकिन इससे मेरी समस्या हल हो गई


मैं सिर्फ इसे उभार नहीं सकता, इससे मेरी समस्या भी हल हो गई लेकिन मुझे उम्मीद है कि कोई इस काम के पीछे का कारण स्पष्ट करेगा।
बेयटन कर्ट

इस समाधान ने मेरे लिए भी काम किया। मेरे लिए यह नवीनतम एसडीके के साथ असंगति का मामला था। यदि आप Visual Studio 2017 का उपयोग कर रहे हैं, तो आप .NET Core SDK के नवीनतम संस्करण का उपयोग नहीं कर सकते।
शून्य

11

मेरे लिए समाधान global.jsonस्थापित संस्करण को प्रतिबिंबित करने के लिए संस्करण को बदलना था ।

जैसा कि अन्य ने कहा कि संस्करण को dotnet --infocmd में पाया जा सकता है

यह:

{
  "projects": [ "src", "test" ],
  "sdk": {
    "version": "2.0.3"
  }
}

बन गया:

{
  "projects": [ "src", "test" ],
  "sdk": {
    "version": "2.1.4"
  }
}

आप चलाकर भी Global.json फ़ाइल बना सकते हैं

dotnet new globaljson --sdk-version 2.1.4

परियोजना की जड़ में


2
global.jsonअगर यह मौजूद होगा तो वह फाइल कहां मिलेगी ?
ब्रूनो बीरी

मुझे लगता है कि एमएस ने उस फाइल को हटा दिया, अपनी .sln और .csproj फाइलों की जांच करें :)
lsp

2
फ़ाइल global.jsonसमाधान फ़ाइल के बगल में होगी। मैंने आम तौर पर समाधान में एक समाधान आइटम के रूप में शामिल किया है। मैंने अपने प्रयोगों में पाया कि समाधान को बंद करने और फिर से लोड किए बिना, संस्करण को बदलने global.jsonसे अजीब बिल्ड त्रुटियां हो सकती हैं। .NET कोर SDK 2.2.100 के साथ मेरी टिप्पणी VS2018, संस्करण 15.9.2 पर लागू होती है।
मैनफ्रेड

डॉक्स से .NET Core SDK looks for a global.json file in the current working directory ... or one of its parent directories । तो एक विरासत प्रकार फ़ाइल की तरह।
स्टुअर्टएलसी

10

ऐसा कभी-कभी होता है जब मैं अपनी पुरानी परियोजनाओं को खोलने की कोशिश कर रहा होता हूं, इससे मुझे परियोजनाओं के लक्ष्य ढांचे को बदलने में मदद मिलती है। परियोजना के लिए जाओ -> ProjectName गुण ... और एक कि आपके द्वारा स्थापित करने के लिए लक्ष्य ढांचा बदल जाते हैं। परियोजना के गुण


ड्रॉप-डाउन मेनू मेरे लिए कुछ भी नहीं दिखाता है। कोई विचार?
डैनी

9

इसने मेरे लिए काम किया

Visual Studio की स्थापना का उपयोग करें

टैब पर "वर्कलोड" चेक ".नेट कोर क्रॉस-प्लेटफॉर्म डेवलपमेंट" और "संशोधित करें" पर क्लिक करें

यहां छवि विवरण दर्ज करें

बाएं मेनू पर ".NET कोर 2.0 विकास उपकरण" की जांच करना न भूलें।

स्रोत

ध्यान दें

मैंने पहले एस्प नेट कोर स्थापित किया था, हालांकि मेरे विजुअल स्टूडियो पर दिखाई नहीं दिया, बस जब मैंने विजुअल स्टूडियो की स्थापना का उपयोग किया तो मेरे लिए दिखाई दिया।


1
वैकल्पिक रूप से, आप यहां से जो कुछ भी आवश्यक है, उसे स्थापित कर सकते हैं: dotnet.microsoft.com/download/…
user2173353

3

जब मैंने Visual Studio को 15.5.1 संस्करण में अपग्रेड किया, तो .net Core SDK को 2.X में अपग्रेड किया गया, इसलिए यह त्रुटि चली गई। जब मैं दौड़ता हूं dotnet --info, तो मैं निम्नलिखित देखता हूं:

यहां छवि विवरण दर्ज करें


3

मैंने कुछ .NET Core 1.x पूर्वावलोकन SDKs की स्थापना रद्द करने के बाद 15.8.3 के साथ ऐसा किया था, मेरा आवेदन संकलन नहीं करेगा और त्रुटि दिखाई दी।

यह एसडीके का नवीनतम x86 संस्करण स्थापित करके तय किया गया था, भले ही मैं विंडोज 10 x64 पर हूं।

मुझे लगता है कि यह इसलिए है क्योंकि वीएस 2017 अभी भी एक x86 प्रोग्राम है और यद्यपि प्रोग्राम x64 के रूप में चलते हैं संकलक एक उचित x 86 एसडीके की तलाश में था


3

मेरे पास विजुअल स्टूडियो 2019 और 2017 दोनों के इंस्टॉलेशन थे। मैंने वीएस2017 के लिए .NET कोर 2.X एसडीके को अलग से स्थापित करने की कोशिश की, लेकिन कोई किस्मत नहीं।

मुद्दा यह है, कि मेरे पास .NET कोर 3.0 एसडीके डिफ़ॉल्ट sdk- संस्करण के रूप में स्थापित है , जिसे VS2017 पसंद नहीं है।

मेरा समाधान विशिष्ट परियोजना के लिए एसडीके संस्करण को स्विच करना था।

  • सबसे पहले, वांछित संस्करण को खोजने के लिए अपने स्थापित एसडीके को सूचीबद्ध करें :
$ dotnet --info

.NET Core SDK (reflecting any global.json):
 Version:   3.1.100
 Commit:    cd82f021f4

Runtime Environment:
 OS Name:     Windows
 OS Version:  10.0.18362
 OS Platform: Windows
 RID:         win10-x64
 Base Path:   C:\Program Files\dotnet\sdk\3.1.100\

Host (useful for support):
  Version: 3.1.0
  Commit:  65f04fb6db

.NET Core SDKs installed:
  1.1.14 [C:\Program Files\dotnet\sdk]
  2.1.202 [C:\Program Files\dotnet\sdk]
  2.1.509 [C:\Program Files\dotnet\sdk]
  2.2.110 [C:\Program Files\dotnet\sdk]
  3.0.100 [C:\Program Files\dotnet\sdk]
  3.1.100 [C:\Program Files\dotnet\sdk]
  • आपके समाधान निर्देशिका से :
$ dotnet new globaljson --sdk-version 2.2.110 --force

अब, dotnetइस समाधान के लिए निर्दिष्ट एसडीके संस्करण का उपयोग करेंगे।

मुझे इस सिस्टम को चौड़ा करने का कोई तरीका नहीं मिला है, वह भी मेरी 3.0 परियोजनाओं को गड़बड़ाने के बिना।


यह अजीब लगता है कि यह आवश्यक होना चाहिए, लेकिन एक ग्लोबल.जेंस को महान बनाना (संस्करण 2.1.513 के लिए) ने मेरी समस्या को भी हल कर दिया।
8128

2

वास्तव में, मेरे लिए यह दूसरे उत्तरों के विपरीत हुआ।

मैंने समस्या के प्रकट होने से पहले नवीनतम .NET कोर SDK स्थापित किया था (मेरे मामले में 3.0.0-पूर्वावलोकन 2) में विजुअल स्टूडियो का नवीनतम संस्करण नहीं था (निश्चित रूप से अगर इससे कोई फर्क नहीं पड़ता)।

इसलिए, समाधान सिर्फ उस नवीनतम .NET कोर एसडीके की स्थापना रद्द करने के लिए था । (यदि आपको इसकी आवश्यकता है, तो यह सही नहीं है, इसलिए आप विज़ुअल स्टूडियो को नवीनतम के अपग्रेड करने पर विचार कर सकते हैं, लेकिन कम से कम यह जारी समस्या को हल कर सकता है)।


1

मैं बस इस परेशानी से गुज़रा। मेरे मामले में मेरे पास एक काम करने वाली स्क्रिप्ट थी

SET devenvPath=C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\devenv.exe
"%devenvPath%" mySolution.sln /Rebuild "DebugWithUT|AnyCpu" /Out mySolution.Build.log

आज मुझे यह सटीक त्रुटि मिलनी शुरू हो गई। लेकिन अब मुझे एक दिन पहले VS2019 इंस्टॉल करना याद है। ऐसा लगता है कि यह VS2017 के लिए कुछ बदल गया है। मैं VS2017 अपडेट में गया, नवीनतम संस्करण / अपडेट इंस्टॉल किया और इसे वापस तय किया।


0

मुझे एक ही समस्या थी, और नवीनतम दृश्य Microsoft Visual Studio सामुदायिक 2017 संस्करण 15.7.3 है

मैंने अभी नवीनतम SDK 2.1 और कोई और लक्ष्यीकरण समस्या नहीं डाउनलोड की है। https://www.microsoft.com/net/download/thank-you/dotnet-sdk-2.1.301-windows-x64-installer

जानकारी: Microsoft Visual Studio सामुदायिक 2017 संस्करण 15.7.3 VisualStudio.15.Release / 15.7.3 + 27703.2026 Microsoft .NET फ्रेमवर्क संस्करण 4.7.03056

स्थापित संस्करण: समुदाय

सी # उपकरण 2.8.3-बीटा 6-62923-07। प्रतिबद्ध हैश: आईडीई में उपयोग किए गए 7aafab561e449da50712e16c9e81742b8e7a2969 सी # घटक। आपके प्रोजेक्ट प्रकार और सेटिंग्स के आधार पर, कंपाइलर के एक अलग संस्करण का उपयोग किया जा सकता है।

सामान्य Azure Tools 1.10 Azure मोबाइल सेवा और Microsoft Azure उपकरण द्वारा उपयोग के लिए सामान्य सेवाएं प्रदान करता है।

दृश्य स्टूडियो में NuGet पैकेज प्रबंधक 4.6.0 NuGet पैकेज प्रबंधक। NuGet के बारे में अधिक जानकारी के लिए, http://docs.nuget.org/ पर जाएं ।

ProjectServicesPackage Extension 1.0 ProjectServicesPackage Visual Studio एक्सटेंशन विस्तृत जानकारी

ResourcePackage Extension 1.0 ResourcePackage Visual Studio एक्सटेंशन विस्तृत जानकारी

विजुअल बेसिक टूल्स 2.8.3-beta6-62923-07। प्रतिबद्ध हैश: आईडीई में उपयोग किए गए 7aafab561e449da50712e16c9e81742b8e7a2969 विज़ुअल बेसिक घटक। आपके प्रोजेक्ट प्रकार और सेटिंग्स के आधार पर, कंपाइलर के एक अलग संस्करण का उपयोग किया जा सकता है।

Visual Studio कोड डीबग एडाप्टर होस्ट पैकेज 1.0 Visual Studio कोड डीबग एडाप्टर को होस्ट करने के लिए Visual Studio में इंटरोप लेयर

एकता के लिए दृश्य स्टूडियो उपकरण 3.7.0.1 एकता के लिए दृश्य स्टूडियो उपकरण


0

सुनिश्चित करें कि आप दृश्य स्टूडियो के लिए केवल x64 एसडीके के बजाय x86 एसडीके डाउनलोड करें।


0

मुझे भी यही समस्या थी क्योंकि वर्तमान .NET SDK .NET .NET 3.1 को लक्षित करने का समर्थन नहीं करता है। या तो .NET कोर 1.1 को लक्षित करें या उससे कम करें, या .NET कोर 3.1 का समर्थन करने वाले .NET SDK के एक संस्करण का उपयोग करें

1) अपने मशीन पर .Net कोर एसडीके स्थापित करें। .NET डाउनलोड करें !

2) पथ के नीचे पैठ पर्यावरण चर निर्धारित करें


0

टीएफएस में अपना समाधान बनाने की कोशिश करते हुए मेरे पास यह मुद्दा था। हम "डॉट नेट पब्लिश" कार्य का उपयोग कर रहे थे। Msbuild का उपयोग करके हमारे लिए बर्फ को तोड़ दिया।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.