2017-09-16 12 views
7

मैं MSBuild कमांड लाइन का उपयोग कर एक समाधान का निर्माण करने की कोशिश कर रहा हूँ और मैं इस त्रुटि प्राप्त हो रही नहीं पाया जा सका:MSBuild फेंकता त्रुटि: एसडीके 'Microsoft.NET.Sdk' निर्दिष्ट

error MSB4236: The SDK 'Microsoft.NET.Sdk' specified could not be found.

एमएसबिल्ड का संस्करण माइक्रोसॉफ्ट विजुअल स्टूडियो 2017 टूल्स से नवीनतम है। मैं विंडोज सर्वर 2012 आर 2 का उपयोग कर रहा हूं और प्रोजेक्ट .NET कोर 2.0 का उपयोग करता है।

msbuild.exe /p:Configuration=Release /t:restore C:\Projects\MyProject.sln

पूरा लॉग:

Microsoft (R) Build Engine version 15.3.409.57025 for .NET Framework 
    Copyright (C) Microsoft Corporation. All rights reserved. 

    Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch. 
    Build started 9/16/2017 3:09:03 PM. 
    Project "C:\Projects\MyProject.sln" on node 1 (restore target(s)). 
    ValidateSolutionConfiguration: 
     Building solution configuration "Release|Any CPU". 
    Project "C:\Projects\MyProject.sln" (1) is building "C:\Projects\Kernel\Kernel.csproj" (2) on node 1 (restore target(s)). 
    C:\Projects\MyProject.sln" (1) is building "C:\Projects\Kernel\Kernel.csproj : error MSB4236: The SDK 'Microsoft.NET.Sdk' specified could not be found. 
    Done Building Project "C:\Projects\MyProject.sln" (1) is building "C:\Projects\Kernel\Kernel.csproj" (restore target(s)) -- FAILED. 

    Build FAILED. 
    "C:\Projects\MyProject.sln" (restore target) (1) -> 
"C:\Projects\Kernel\Kernel.csproj" (restore target) (2) -> 
    C:\Projects\Kernel\Kernel.csproj : error MSB4236: The SDK 'Microsoft.NET.Sdk' specified could not be found. 

0 Warning(s) 
    11 Error(s) 
+0

मेरा अनुमान है कि परियोजना संदर्भ एसडीके। और इसके खिलाफ निर्माण करने के लिए, इसे स्थापित किया जाना चाहिए। कंपाइलर टाइपशेक और अन्य सभी चीजें कैसे कर सकता है? – Christopher

+0

@ क्रिस्टोफर मैंने पोस्ट को पूर्ण लॉग के साथ संपादित किया। और हाँ, मेरी परियोजना संदर्भ है कि एसडीके, लेकिन मैं इसे बहाल करने की कोशिश कर रहा हूं। –

+0

जैसा मैंने सोचा था। कंपाइलर एसडीके नहीं ढूंढ सकता है। निर्माण करने के लिए आपको कंपाइलर के साथ टॉगर स्थापित करना होगा। आदर्श रूप से आपने डिफ़ॉल्ट स्थान चुना है। यदि नहीं, तो आपको प्रोजेक्ट को संपादित करना पड़ सकता है, इसलिए यह उचित स्थान पर एसडीके की तलाश में है। – Christopher

उत्तर

11

मैं नेट कोर 2.0 स्थापना के साथ प्रयोग करना और उचित रूप में यह खिलवाड़ करने के बाद इस त्रुटि का सामना

यह आदेश है कि मैं का उपयोग कर रहा है अप। मुझे dotnet restore, dotnet build या dotnet msbuild के लिए यह वही त्रुटि मिल जाएगी। अनिवार्य रूप से, नेट कोर और एमएसबिल्ड शामिल कुछ भी।

त्रुटि हुई क्योंकि MSBuildSDKsPath पर्यावरण चर अभी भी पुरानी नेट कोर 1.1 एसडीके को इंगित कर रहा था।

समस्या को ठीक करने के लिए, मैन्युअल रूप से MSBuildSDKsPath पर्यावरण परिवर्तक को 2.0.0 के एसडीके पथ पर इंगित करने के लिए सेट किया गया है, जो मेरे लिए x64 के साथ है, यह C:\Program Files\dotnet\sdk\2.0.0\Sdks पर था।

असल में, यदि आपके आपके .csproj में हैं, तो उसी नाम वाला फ़ोल्डर आपके MSBuildSDKsPath स्थान पर मौजूद होना चाहिए।

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