प्रोजेक्ट का डिफ़ॉल्ट XML नामस्थान MSBuild XML नाम स्थान होना चाहिए


150

मैंने ASP.NET कोर सिग्नलआर रेपो को स्थानीय स्तर पर क्लोन किया , और निम्न वातावरण के भीतर से समाधान खोलने का प्रयास किया।

आईडीई

Microsoft Visual Studio Enterprise 2015
Version 14.0.25431.01 Update 3
Microsoft .NET Framework
Version 4.6.01055

डॉट नेट सीएलआई

λ dotnet --info
.NET Command Line Tools (1.0.0-preview2-1-003177)

Product Information:
 Version:            1.0.0-preview2-1-003177
 Commit SHA-1 hash:  a2df9c2576

Runtime Environment:
 OS Name:     Windows
 OS Version:  6.1.7601
 OS Platform: Windows
 RID:         win7-x64

मैं इस प्रकार के बहुत सारे त्रुटि संदेश देख रहा हूं:

..\Repos\SignalR\src\Microsoft.AspNetCore.SignalR\Microsoft.AspNetCore.SignalR.csproj : त्रुटि: प्रोजेक्ट का डिफ़ॉल्ट XML नामस्थान MSBuild XML नाम स्थान होना चाहिए। यदि प्रोजेक्ट MSBuild 2003 प्रारूप में लिखा गया है, तो कृपया xmlns="http://schemas.microsoft.com/developer/msbuild/2003"तत्व में जोड़ें । यदि इस परियोजना को पुराने 1.0 या 1.2 प्रारूप में लिखा गया है, तो कृपया इसे MSBuild 2003 प्रारूप में परिवर्तित करें। ..\Repos\SignalR\src\Microsoft.AspNetCore.SignalR\Microsoft.AspNetCore.SignalR.csproj

मैं यह जानना चाहता हूं कि इसे कैसे ठीक किया जाए।


मैंने सिर्फ यह मान लिया था कि मैं ऐसा कर पाऊंगा, क्या ऐसी धारणा जो मुझे नहीं करनी चाहिए? मुझे उम्मीद है कि यह पीछे की ओर संगत है।
डेविड पाइन

1
अच्छी तरह से मैं VS2017 RTM को प्रोजेक्ट प्रारूप को अपडेट करने की अनुमति देने के बाद यह त्रुटि प्राप्त कर रहा हूं :-(
Simon_Weaver

मैंने यहाँ एक समान त्रुटि पोस्ट की है .. stackoverflow.com/questions/58336983/… , हालाँकि मेरे मामले में मैं एक नए proj से शुरू कर रहा हूँ, एक मौजूदा को खोलने की कोशिश नहीं कर रहा हूँ।
joedotnot

जवाबों:


212

आप जिन परियोजनाओं को खोलने का प्रयास कर रहे हैं, वे नए .NET कोर csproj प्रारूप में हैं। इसका मतलब है कि आपको Visual Studio 2017 का उपयोग करने की आवश्यकता है जो इस नए प्रारूप का समर्थन करता है।

थोड़े से इतिहास के लिए, शुरू में project.jsonइसके बजाय .NET कोर का उपयोग किया गया था *.csproj। हालांकि, Microsoft में कुछ आंतरिक विचार-विमर्श के बाद, उन्होंने वापस जाने का फैसला किया, csprojलेकिन एक बहुत क्लीनर और अद्यतन प्रारूप के साथ। हालाँकि, यह नया प्रारूप केवल VS2017 में समर्थित है।

आप परियोजनाओं को खोलने के लिए चाहते हैं, लेकिन जब तक मार्च 7 इंतजार नहीं करना चाहते हैं, तो वें आधिकारिक VS2017 जारी करने के लिए, आप दृश्य स्टूडियो कोड के बजाय इस्तेमाल कर सकते हैं।


मैं इतिहास से बहुत परिचित हूं, मुझे लगता है कि मैंने यह मान लिया था कि यह काम करेगा। त्रुटि ऐसा नहीं लगता है कि यह संभव के दायरे से बहुत दूर चला गया है। क्या आप निश्चित हैं कि विजुअल स्टूडियो 2017 RC बिट्स के बिना, कम से कम प्रयास के साथ काम करने का कोई तरीका नहीं है ?
डेविड पाइन

VS2015 के साथ नहीं, नहीं। इसलिए मैंने एक विकल्प के रूप में वीएस कोड की पेशकश की। कम से कम आपके पास VS2017 के रिलीज होने का इंतजार करने के लिए केवल एक सप्ताह है :)
डेविड

यह सच है, धन्यवाद! अगर मुझे वीएस कोड का उपयोग करना है तो मुझे डॉट नेट सीएलआई के किस संस्करण की आवश्यकता है ?
डेविड पाइन

2
@ ThePartyTurtle निष्पक्ष होने के लिए, VS2015 को एक फ़ाइल प्रारूप को समझने के लिए कहा जाएगा जो कि कभी भी समर्थन करने वाला नहीं है।
डेविड

44

मैं Visual Studio 2015 में Service Fabric GetStartedApplication को खोलते समय इस समस्या में भाग गया था। मूल समाधान VS 2017 में .NET कोर पर बनाया गया था और 2015 में खोलने पर मुझे वही त्रुटि मिली।

इस मुद्दे को हल करने के लिए मैंने जिन चरणों का पालन किया है।

  • दृश्य स्टूडियो पर राइट क्लिक (लोड असफल) परियोजना और संपादित करें।
  • प्रोजेक्ट टैग में निम्न पंक्ति देखी: <Project Sdk="Microsoft.NET.Sdk.Web" >

  • xmlns="http://schemas.microsoft.com/developer/msbuild/2003"इस टैग में जोड़ने के लिए त्रुटि संदेश में दिखाए गए निर्देश का पालन किया

यह अब इस तरह दिखना चाहिए:

<Project Sdk="Microsoft.NET.Sdk.Web" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  • परियोजना को फिर से जारी करने से मुझे अगली त्रुटि मिली (आपकी परियोजना में जो कुछ भी शामिल है, उसके आधार पर आप अलग हो सकते हैं)

"अपडेट" तत्व <कोई नहीं> अपरिचित है

  • देखा कि किसी भी तत्व में नीचे के रूप में एक अद्यतन विशेषता नहीं थी:

    <None Update="wwwroot\**\*;Views\**\*;Areas\**\Views">
      <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
    </None>
  • टिप्पणी की कि नीचे के रूप में।

    <!--<None Update="wwwroot\**\*;Views\**\*;Areas\**\Views">
      <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
    </None>-->
  • अगली त्रुटि पर: पैकेज संदर्भ में संस्करण अपरिचित है तत्व में संस्करण <PackageReference> अपरिचित है

  • देखा कि वर्जन नीचे के रूप में csproj xml में है (अतिरिक्त पैकेज रेफरेंस लाइनों को संक्षिप्तता के लिए हटा दिया गया है)

  • संस्करण विशेषता छीन ली

    <PackageReference Include="Microsoft.AspNetCore.Diagnostics" />
    <PackageReference Include="Microsoft.AspNetCore.Mvc" />
  • मुझे अब निम्नलिखित मिला: वीएस ऑटो अपग्रेड

बिंगो! दृश्य स्टूडियो एक तरह से उन्नयन में लात मारी! वी.एस. जादू करते हैं!

  • परियोजना भरी हुई है, लेकिन संदर्भ में गलतियाँ हैं। यहाँ छवि विवरण दर्ज करें

  • परियोजना को काम करने के लिए NuGet में हटाकर और बदलकर, व्यक्तिगत रूप से संदर्भ संबंधी त्रुटियों को ठीक किया!

उम्मीद है कि यह एक और कोड यात्री की मदद करता है :-D


3
@DavidG यह समय की बर्बादी नहीं है क्योंकि सभी परियोजनाओं में VS2015 शाखा नहीं है।
यूएसआर-बिन-ड्रिंकिंग

जोड़ने की आवश्यकता है कि आपको प्रोजेक्ट एक्सप्लोरर के फ़ोल्डर को देखने के लिए समाधान एक्सप्लोरर टूलबार में "सभी फाइलें दिखाएं" पर क्लिक करना होगा। वे "बिंदीदार" दिखाई देंगे और आपको राइट-क्लिक करने और प्रत्येक को चुनने और "
इनकाउंटर

ये बिल्कुल वही मुद्दे थे जिनका मैंने सामना किया था। कदम से कदम उनके पीछे थे..धन्यवाद !!
समराला

14

@ डेविडजी का उत्तर सही है, लेकिन मैं यह जोड़ना चाहूंगा कि यदि आप कमांड लाइन से निर्माण कर रहे हैं, तो समतुल्य समाधान यह सुनिश्चित करना है कि आप msbuildइस विशेष संस्करण के उपयुक्त संस्करण का उपयोग कर रहे हैं (इसे विशेष रूप से संस्करण की आवश्यकता है) 15)।

msbuild /?यह देखने के लिए चलाएं कि आप किस संस्करण का उपयोग कर रहे हैं या where msbuildयह जांचने के लिए कि पर्यावरण किस स्थान से निष्पादन योग्य लेता है और यदि आवश्यक हो तो टूल (या सही स्थान पर इंगित करें) को अपडेट करें।

नवीनतम MSBuild टूल यहाँ से डाउनलोड करें


6

अगर इस त्रुटि को VSTS पर .Net Core 2.0 ऐप बनाने की कोशिश कर रहे हैं, तो सुनिश्चित करें कि आपकी बिल्ड परिभाषा Hosted VS2017एजेंट कतार का उपयोग कर रही है ।


मुझे वीएस एज़्योर फ़ंक्शंस प्रोजेक्ट के साथ इसी तरह की समस्या थी जिसने लक्ष्य .net फ्रेमवर्क को लक्षित किया था लेकिन फिर भी एक मुख्य प्रारूप में csproj फ़ाइल उत्पन्न की। इस फिक्स ने मेरे लिए काम किया।
इलियटशैमलॉट

3

मुझे मैसेज मिल रहे थे जबकि मैं पावरशेल से सिर्फ msbuild चला रहा था।

dotnet msbuild "./project.csproj" मेरे लिए काम किया।


यह मूल रूप से इस एक के रूप में एक ही जवाब है । आपको msbuild के नवीनतम संस्करण का उपयोग करने की आवश्यकता है।
डेविड

0

यदि परियोजना एक बड़ी नहीं है,

1- फ़ोल्डर प्रोजेक्ट का नाम बदलें

2- एक ही प्रोजेक्ट के साथ एक नया प्रोजेक्ट बनाएं (नाम बदलने से पहले)

3- पुराने प्रोजेक्ट से नई प्रोजेक्ट में मौजूदा फाइल जोड़ें (पूरी तरह से एक ही, एक ही फ़ोल्डर, एक ही नाम, ...)

4- नई परियोजना फ़ाइल (xml के रूप में) और पुरानी परियोजना खोलें

5- नई प्रोजेक्ट फाइल (xml कंटेंट) को कॉपी करें और पुराने प्रोजेक्ट फाइल में पेस्ट करें

6- पुराने प्रोजेक्ट को डिलीट करें

7- पुराने नाम के लिए पुराने फ़ोल्डर प्रोजेक्ट का नाम बदलें

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