बाहरी VS2013 निर्माण त्रुटि "त्रुटि MSB4019: आयातित परियोजना <पथ> नहीं मिली"


201

मैं कमांड लाइन के माध्यम से एक परियोजना का निर्माण कर रहा हूं न कि विजुअल स्टूडियो 2013 के अंदर। नोट, मैंने अपने प्रोजेक्ट को विजुअल स्टूडियो 2012 से 2013 तक अपग्रेड किया था। यह प्रोजेक्ट आईडीई के अंदर ठीक बनाता है। इसके अलावा, मैंने पहले VS2012 को पूरी तरह से अनइंस्टॉल कर दिया, रिबूट किया और VS2013 स्थापित किया। मेरे पास विजुअल स्टूडियो का एकमात्र संस्करण 2013 अल्टीमेट है।

ValidateProjects:
    39>path_to_project.csproj(245,3): error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\WebApplications\Microsoft.WebApplication.targets" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.
    39>Done Building Project "path_to_project.csproj" (Clean target(s)) -- FAILED.

यहाँ प्रश्न में दो लाइनें हैं:

<Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v12.0\WebApplications\Microsoft.WebApplication.targets" Condition="false" />

मूल दूसरी पंक्ति v10.0 थी, लेकिन मैंने मैन्युअल रूप से इसे बदलकर v12.0 कर दिया।

$ (VSToolsPath) मैं v11.0 (VS2012) फ़ोल्डर में जो कुछ भी देखता हूं, उससे अलग होता है, जो स्पष्ट रूप से अब नहीं है। रास्ता v12.0 होना चाहिए था।

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\WebApplications\

मैंने अपने सिस्टम वातावरण चर तालिका में VSToolsPath को निर्दिष्ट करने की कोशिश की, लेकिन बाहरी निर्माण उपयोगिता अभी भी v11.0 का उपयोग करती है। मैंने रजिस्ट्री के माध्यम से खोज करने की कोशिश की और कुछ भी नहीं हुआ।

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

विचार?


इसी तरह के सवाल यहां stackoverflow.com/questions/17433904/…
एंथोनी एफ

मेरे मामले में, मुझे WebPublish टारगेट के साथ बनने वाले बिल्ड इवेंट में सही VisualStudioVersion को निर्दिष्ट करना था।
user145400

जवाबों:


250

मेरे पास एक ही मुद्दा था और एक आसान समाधान ढूंढता हूं

यह Vs2012 के कारण csproj फ़ाइल में निम्नलिखित जोड़ रहा है:

<PropertyGroup>
  <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
  <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
</PropertyGroup>

आप सुरक्षित रूप से उस हिस्से को हटा सकते हैं और आपका समाधान निर्मित होगा।

जैसा कि सिल्लू ने बताया कि आपको यह सुनिश्चित करना होगा कि .proj फाइल शुरू हो जाए <Project ToolsVersion="12"अन्यथा अगली बार जब आप दृश्य स्टूडियो 2010 के साथ प्रोजेक्ट को खोलेंगे, तो यह हटाए गए नोड को फिर से जोड़ देगा।

अन्यथा, यदि आपको वेबडाइप का उपयोग करने की आवश्यकता है या आप एक बिल्ड सर्वर का उपयोग करते हैं, तो उपरोक्त समाधान काम नहीं करेगा लेकिन आप VisualStudioVersionअपनी बिल्ड स्क्रिप्ट में संपत्ति निर्दिष्ट कर सकते हैं :

msbuild myproject.csproj /p:VisualStudioVersion=12.0

या अपनी बिल्ड परिभाषा संपादित करें:

<code> VisualStudioVersion </ code> गुण निर्दिष्ट करने के लिए बिल्ड परिभाषा संपादित करें


1
मुझे कमांड प्रॉम्प्ट से msbuild का उपयोग करके त्रुटि मिली। प्रोजेक्ट फ़ाइल से इस भाग को हटाने से समस्या हल हो गई।
पीटर हेडबर्ग

7
मैंने इस उत्तर का उपयोग किया और यह तभी काम किया जब मैंने सुनिश्चित किया कि मेरी * proj फ़ाइल <Project ToolsVersion = "12" से शुरू हुई, इससे पहले कि मेरे पास <Project ToolsVersion = "4" था और हर बार जब मैंने VS में प्रोजेक्ट खोला तो इसमें दो नोड्स फिर से जुड़ गए। (यानी यह नवीनतम संस्करण के लिए परियोजना को फिर से माइग्रेट करता है)।
सिल्लू

3
@giammin, मैं पहले से ही समाधान मिल गया। अपनी परियोजना फ़ाइल से अनुभाग को न निकालें। अपनी बिल्ड परिभाषा में सही टूल संस्करण सेट करें। यह करने में बहुत आसान है। अपनी बिल्ड परिभाषा खोलें और "प्रक्रिया" पृष्ठ पर जाएं। फिर "3. उन्नत" समूह के तहत आपके पास "MSBuild Arguments" नामक एक संपत्ति है। निम्नलिखित सिंटैक्स "/p:VisualStudioVersion=12.0" के साथ पैरामीटर रखें। बेशक उद्धरण के बिना। यदि आपके पास अधिक पैरामीटर हैं, तो उन्हें एक स्थान के साथ अलग करें और एक अल्पविराम नहीं। आपके द्वारा हटाए गए कॉन्‍फ़‍िगरेशन का उपयोग विज़ुअल स्‍टूडियो के अन्‍य हिस्‍सों द्वारा आपके बिल्ड प्रॉसेस में किया जाता है ...
राल्फ जानसेन

9
उस लाइन को हटाने से लगता है कि Web Deploy
Colin Pear

4
जैसा कि ऊपर सुझाया गया है, मुझे /p:VisualStudioVersion=12.0 संपत्ति का उपयोग करके एक ही समस्या हल हो गई थी। धन्यवाद
रणदीप

70

मेरे पास यह भी था और आप इसे अपनी बिल्ड परिभाषा में टूल संस्करण सेट करके ठीक कर सकते हैं।

यह करने में बहुत आसान है। अपनी बिल्ड परिभाषा खोलें और " प्रक्रिया " पृष्ठ पर जाएं। फिर " 3. उन्नत " समूह के तहत आपके पास " MSBuild Arguments " नामक एक संपत्ति है । निम्नलिखित सिंटैक्स के साथ पैरामीटर को वहां रखें

/p:VisualStudioVersion=12.0 

यदि आपके पास अधिक पैरामीटर हैं, तो उन्हें एक स्थान के साथ अलग करें और एक अल्पविराम नहीं।


1
हमने टीएफएस 2005 से टीएफएस 2013 में एक अपग्रेड पूरा किया और यह हमारी आखिरी बाधा थी। यह निश्चित रूप से हमारे लिए काम करता है और मुझे अपने बालों को बाहर निकालने से बचाता है। बहुत बहुत धन्यवाद! +1।
साइमन व्हाइटहेड

2
सैयद इब्राहिम हाशिमी का यह लेख विजुअल स्टूडियो 2010/2012 में समस्या का वर्णन करता है। एक कमांड लाइन बिल्ड VisualStudioVersion के रूप में sln फ़ाइल प्रारूप संस्करण -1 का उपयोग करता है। आप कमांड लाइन से इस मान को ओवरराइड कर सकते हैं जैसा कि राल्फ वर्णन करता है, या एक बिल्ड स्क्रिप्ट से MSBuild कार्य की संपत्ति के रूप में। मुझे विजुअल स्टूडियो 2013 के साथ भी यही समस्या थी, और VisualStudioVersion को ओवरराइड करने से समस्या हल हो गई।
15

1
यह हमारे लिए भी काम किया। हमने बिल्ड बिल्ड को भी संशोधित करने पर विचार किया है , यहाँ वर्णित है , जो आपके पास दर्जनों बिल्ड परिभाषाएँ होने पर बेहतर विकल्प हो सकता है।
जेम्सक्यू मर्फी

यह मेरे लिए काम किया। मैंने
विजुअल्सुडीविरोशन के

51

यह निकटता से संबंधित है लेकिन ओपी के विशिष्ट मुद्दे को ठीक कर सकता है या नहीं भी कर सकता है। मेरे मामले में मैं VS2013 का उपयोग करके एक एज़्योर साइट की तैनाती को स्वचालित करने की कोशिश कर रहा था। वीएस कार्यों के माध्यम से निर्माण और तैनाती, हालांकि, MSBuild का उपयोग करके "लक्ष्य" के आसपास एक समान त्रुटि दिखाई दी। MSBuild VS2013 के तहत अलग है, और अब VS का हिस्सा है और न ही .Net फ्रेमवर्क ( http://timrayburn.net/blog/visual-studio-2013-and-msbuild/ ) देखें । मूल रूप से, MSBuild के सही संस्करण का उपयोग करें:

OLD, VS2012

C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe

नई, VS2013

C:\Program Files (x86)\MSBuild\12.0\bin\msbuild.exe

नई, वीएस2015

C:\Program Files (x86)\MSBuild\14.0\Bin\msbuild.exe

नई अभी भी, VS2017 (पूरी तरह से परीक्षण नहीं है लेकिन पता चला है - वे चीजों को थोड़ा इधर-उधर ले गए हैं)

C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\msbuild.exe

यह मेरे लिए तय है। इसके अलावा, इसी तरह के एक प्रश्न के लिए यहां उत्तर दें: stackoverflow.com/a/19826448/61569
एंथोनी एफ

22

मुझे सिर्फ किनूक से प्रतिक्रिया मिली, जिसने मुझे एक लिंक दिया :

मूल रूप से, मुझे bulding से पहले निम्नलिखित कॉल करने की आवश्यकता है। मुझे लगता है कि विज़ुअल स्टूडियो 2013 पर्यावरण को पहले पंजीकृत नहीं करता है, लेकिन 2012 ने किया, या मैंने किया और भूल गया।

call "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat" x86

उम्मीद है, यह पोस्ट किसी और की मदद करती है।


बहुत बहुत धन्यवाद, यह मेरे मुद्दे को हल किया जब नोडज node-gypका निर्माण Cpp default.propsनहीं मिला था! +1
पोग्रिंडिस

21

giammin का समाधान आंशिक रूप से गलत है। आप अपने समाधान से उस संपूर्ण प्रॉपर्टी ग्रुप को हटा नहीं सकते। यदि आप करते हैं, तो MSBuild का "DeployTarget = Package" फीचर काम करना बंद कर देगा। यह सुविधा सेट किए जा रहे "VSToolsPath" पर निर्भर करती है

<PropertyGroup>
  <!-- VisualStudioVersion is incompatible with later versions of Visual Studio.  Removing. -->
  <!-- <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion> -->
  <!-- VSToolsPath is required by MSBuild for features like "DeployTarget=Package" -->
  <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
</PropertyGroup>
...
<Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" />

10

हमारे FSharp लक्ष्य (FSharpTargetsPath खाली था) के लिए मुझे यह समस्या थी।

कई रास्तों को वीएस संस्करण के संदर्भ में बनाया गया है।

विभिन्न कारणों से, हमारा निर्माण सिस्टम विशेषाधिकारों के साथ चलता है, और पर्यावरण चर "VisualStudioVersion" केवल "उपयोगकर्ता" स्तर पर (वीएस 2013 इंस्टॉलर द्वारा) सेट किया गया था - जो काफी उचित है।

सुनिश्चित करें कि जिस स्तर (सिस्टम या उपयोगकर्ता) पर आप चल रहे हैं , वहां " VisualStudioVersion" पर्यावरण चर सेट किया 12.0गया है।


5
बिल्ड सर्वर (जैसे क्रूज़कंट्रोल या टीमसिटी) को चलाते समय यह संभवतः एक सामान्य परिदृश्य है, जहां सेवा एक विशेष सेवा खाते के तहत चलती है जिसमें इंटरैक्टिव डेस्कटॉप अनुमति भी नहीं हो सकती है। इस टिप ने मेरे लिए समस्या हल कर दी (VS 2013 सर्वर 2008 R2 की एक क्लीन इंस्टाल पर स्थापित,
क्रूज़कंट्रोल.नेट के

मैं अपना "VisualStudioVersion" कहाँ देख सकता हूँ?
WEFX

Systemनियंत्रण कक्ष से चयन करके पर्यावरण चर देखें , तब चयन करें Advanced system settings, और अंत में क्लिक करेंEnvironment Variables
स्कॉट

6

कमांडलाइन में इसे चलाने से समस्या भी ठीक हो जाएगी। SETX VisualStudioVersion "12.0"


यह मेरे लिए काम करता है और परियोजना फ़ाइल को संशोधित करने के लिए बेहतर था।
सीन

4

यदि आप Visual Studio 2012 से 2013 में माइग्रेट करते हैं, तो * .csprorj प्रोजेक्ट फ़ाइल को edior के साथ खोलें।
और 'प्रोजेक्ट' टैग के टूलवर्जन तत्व की जाँच करें।

यह मान 4.0 है
आप इसे 12.0 पर बनाते हैं

  • से

    <?xml version="1.0" encoding="utf-8"?>
    <Project ToolsVersion="4.0"
  • सेवा

    <?xml version="1.0" encoding="utf-8"?>
    <Project ToolsVersion="12.0"

या यदि आप msbuild के साथ निर्माण करते हैं तो बस VisualStudioVersion गुण निर्दिष्ट करें

msbuild /p:VisualStudioVersion=12.0


1
इस त्रुटि संदेश को ठीक करने के लिए ToolsVersion एकमात्र चर नहीं होना चाहिए क्योंकि मैंने ToolVersion के साथ प्रोजेक्ट देखा था जो सही तरीके से नहीं बना सका।
पैट्रिक डेसजार्डिन्स

2

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

जैसा कि यह पता चला है, परियोजना में एक वैश्विक मैक्रो है, DEVSTUDIO_NET_DIR। मुझे वहाँ .Net के लिए रास्ता बदलना पड़ा। वे विभिन्न दृश्य स्टूडियो संस्करणों को "क्रियाएँ" के रूप में सूचीबद्ध करते हैं, जो मेरे माध्यम से बंद हो जाते हैं, लेकिन सभी सड़कें पर्दे के पीछे उस एक वैश्विक चर की ओर ले जाती हैं। मुझे लगता है कि उत्पाद के खिलाफ दोष के रूप में, अगर मेरे पास मेरा तरीका होता, जब तक कि मैं अपनी समझ में कुछ याद नहीं करता। वहां के रास्ते को ठीक कर बिल्ड की समस्या को ठीक किया।


2

मेरे पास विजुअल स्टूडियो 2013 स्थापित है। यह मेरे लिए काम किया:

<PropertyGroup>
    <VisualStudioVersion Condition="'$(VisualStudioVersion)' != ''">12.0</VisualStudioVersion>`
    <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
</PropertyGroup>

इसलिए मैंने स्थिति ==को !=और से मान को बदल दिया 10.0है 12.0


2

मेरा भी ऐसा ही मुद्दा था। सभी प्रस्तावित समाधान इस मुद्दे के लिए काम कर रहे हैं, लेकिन त्रुटि के स्रोत को हल नहीं कर रहे हैं। यदि आप tfs बिल्ड सर्वर का उपयोग कर रहे हैं तो @giammin समाधान को लागू नहीं किया जाना चाहिए क्योंकि यह प्रकाशित कार्यक्षमता को क्रैश कर देता है। @ cat5dev solution - समस्या को हल करता है लेकिन इसके स्रोत को हल नहीं करता है।

मुझे लगभग यकीन है कि आप VS2012 के लिए बिल्ड प्रोसेस टेम्पलेट का उपयोग कर रहे हैं, जैसे कि ReleaseDefaultTemplate.11.1.xaml or DefaultTemplate.11.1.xaml ये बिल्ड टेम्पलेट VS2012 और $ (VisualStudioVersion) 11.0 पर सेट किए गए हैं।

आपको VS2013 के लिए बिल्ड प्रोसेस टेम्प्लेट का उपयोग करना चाहिए ReleaseTfvcTemplate.12.xaml or TfvcTemplate.12.xaml जिसमें 12.0 पर $ (VisualStudioVersion) सेट है

यह प्रोजेक्ट फ़ाइल में बिना किसी बदलाव के काम करता है।


2

मेरी भी यही त्रुटि थी .. मैंने इसे ठीक करने के लिए ऐसा किया

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v11.0\WebApplications\Microsoft.WebApplication.targets" />

में बदलो

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v12.0\WebApplications\Microsoft.WebApplication.targets" Condition="false" />

और हो गया।


2

मेरे मामले में मैं सिर्फ .csproj फ़ाइल खोलकर लाइन के नीचे टिप्पणी करता हूं और चाल चली

<!-- <Import Project="..\PRPJECTNAME.targets" /> -->

मेरी समस्या अलग हो सकती है लेकिन मुझे यहाँ खींच लिया गया है, लेकिन इससे किसी की मदद हो सकती है।

मैंने अपने समाधान से एक एकल वेब परियोजना को चुना और इसे अकेले खड़े करने की परियोजना के रूप में खोलने की कोशिश की, जो समस्या बना रहा था, ऊपर के बाद समस्या को हल करने में सक्षम है।


2

MSBuild के सही संस्करण का उपयोग करें। पर्यावरण के लिए परिवर्तनीय सेट करें:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin

यह वीएस 2019 परियोजनाओं के लिए भी काम करेगा

पहले हम इसे सेट कर रहे थे C:\Windows\Microsoft.NET\Framework\v4.0.30319


मैंने "C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 / MSBuild" के बजाय "C: \ Program Files (x86) \ Microsoft Visual Studio \ 2019 \ Enterprise \ MSBuild \ Current \ Bin \ MSBuild.exe" का उपयोग किया। exe ”और इसके काम किया
ELKALAKHI मोहम्मद

हाँ, मैं प्रोजेक्ट फ़ाइल में VisualStudioVersion = 14.0 के साथ SSDT प्रोजेक्ट (.sqlproj) का उपयोग कर रहा हूं। मैंने कोर 3.1 स्थापित किया है, जो ईश्वर के लक्ष्यों के लिए मेरी एनवी संस्करण को केवल वही जानता है जहां। आपके द्वारा सुझाए गए फ़ोल्डर में msbuild का उपयोग करना एक आकर्षण की तरह काम करता है!
मैथ्यू बेक

1

मेरे मामले में देव वातावरण VS2013 है और मैं TFS 2010 का उपयोग कर रहा हूं। बिल्ड को .NET 4.5.1 के लिए लक्षित किया गया था। मैं CI के लिए ऑटो बिल्ड अप स्थापित कर रहा था। जब भी मैंने ऊपर बताए गए वर्कअराउंड की कोशिश की - जैसे कि गुण समूह को पूरी तरह से हटा देना या कुछ पंक्तियों की जगह लेना इत्यादि का निर्माण टीएफएस में हुआ करता था, लेकिन मेरा प्रकाशन azure 'MSDeploy' या कभी-कभी कुछ अलग त्रुटि के साथ विफल हो जाता था। मैं दोनों को एक साथ हासिल करने में सक्षम नहीं था।

इसलिए आखिरकार मुझे इस मुद्दे को हल करने के लिए MSBuild तर्क पारित करना पड़ा।

गोटो संपादित निर्माण परिभाषा> प्रक्रिया> 3. उन्नत> MSBuild तर्क (सेट करने के लिए) / p:VisualStudioVersion=12.0

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


1

आपको C: \ Program Files (x86) \ MSBuild \ Microsoft \ VisualStudio \ v12.0 \ C से \ Program Files (x86) \ MSBuild \ Microsoft \ VisualStudio \ _11.0 \ के लिए फ़ोल्डर WebApplications कॉपी करना चाहिए


या केवल Microsoft.WebApplication.targets फ़ाइल को उस स्थान से कॉपी करें जहां Visual Studio 2013 स्थापित है।
ThatBlairGuy

0

आप पाएंगे

C:\Program Files  (x86)\MSBuild\Microsoft\VisualStudio\v11.0\WebApplications\Microsoft.WebApplication.targets 

csproj फ़ाइल में जिसके लिए यह त्रुटि दिखाई दे रही है। बस इसे csproj से हटा दें और फिर निर्माण करें।


0

समस्या को हल करने के लिए केवल एक चीज की आवश्यकता है: TeamCity को 8.1.x या उच्चतर संस्करण में अपग्रेड करें क्योंकि Visual Studio 2012/2013 और MSBuild Tools 2013 के लिए समर्थन केवल TeamCity 8.1 में पेश किया गया था। एक बार जब आप अपने TeamCity को अपग्रेड कर लेते हैं, तो MSBuild Tools Version सेटिंग को अपने बिल्ड स्टेप में बदल देते हैं, तदनुसार समस्या गायब हो जाएगी। अधिक जानकारी के लिए यहां पढ़ें: http://blog.turlov.com/2014/07/upgrad-teamcity-to-enable-t-the.html


0

Me - कुछ भी VisualStudioVersion चर के v11.0 मान को v10.0 में बदलने में मदद नहीं कर रहा था। परिवर्तनशील .csproj फ़ाइल में परिवर्तनशील नहीं है। कमांड प्रोम्ट के माध्यम से इसे सेट करना नहीं था। आदि...

उस विशिष्ट संस्करण के मेरे स्थानीय फ़ोल्डर (v11.0) को मेरे बिल्ड सर्वर पर कॉपी करने की समाप्ति हुई।


0

मैंने उपरोक्त सभी समाधानों की कोशिश की थी और अभी भी कोई भाग्य नहीं है। मैंने लोगों को अपने बिल्ड सर्वर पर दृश्य स्टूडियो स्थापित करने के लिए इसे ठीक करने के लिए सुना था, लेकिन मेरे पास केवल 5 जीबी खाली स्थान थे इसलिए मैंने अपने बिल्ड सर्वर पर C: \ Program Files (x86) \ MSBuild \ Microsoft \ VisualStudio की प्रतिलिपि बनाई और इसे एक दिन कहा। । उसके बाद काम करना शुरू किया, टीम सिटी 9.x और विजुअल स्टूडियो 2013 का उपयोग किया।


0

TFS 2015 बिल्ड सर्वर पर आधारित है

यदि आप इस त्रुटि का मुकाबला करते हैं ... Error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\WebApplications\Microsoft.WebApplication.targets" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.

.csprojत्रुटि संदेश में नामित परियोजना की फ़ाइल खोलें और नीचे दिए गए अनुभाग पर टिप्पणी करें

<!-- <PropertyGroup> --> <!-- <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion> --> <!-- <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath> --> <!-- </PropertyGroup> -->


0

मुझे यह त्रुटि तब हुई जब मैंने कुछ वीएस घटकों को स्थापित किया। दुर्भाग्य से इनमें से किसी भी उत्तर ने मेरी मदद नहीं की। मैं कमांड विकास के लिए TFS का उपयोग करता हूं और बिल्ड परिभाषा को संपादित करने के लिए मेरे पास कोई अनुमति नहीं है। मैंने इस समस्या को पर्यावरण चर को हटाने के द्वारा हल किया, जिसे कहा जाता है VS110COMNTOOLSऔर VS120COMNTOOLS। मुझे लगता है कि यह मेरे वीएस घटकों के साथ स्थापित किया गया था।


0

मैंने पाया कि मैं अपने स्थानीय पीसी पर WebApplications फ़ोल्डर को याद कर रहा था, विजुअल स्टूडियो 2017 के साथ इंस्टॉल नहीं किया था जैसे कि जब मैं 2012 का उपयोग कर रहा था।


0

मेरे मामले में मैं गलत संस्करण का उपयोग कर रहा था MSBuild.exe

आपके द्वारा उपयोग किए जाने वाले संस्करण पर निर्भर करता है कि आप अपने प्रोजेक्ट को बनाने के लिए विज़ुअल स्टूडियो के किस संस्करण का उपयोग करते हैं। मेरे मामले में मुझे 14.0 की आवश्यकता थी (विजुअल स्टूडियो 2015 का उपयोग करते हुए)।

इस पर पाया गया था:

C:\Program Files (x86)\MSBuild\14.0\Bin\msbuild.exe

आप नीचे देख सकते हैं:

C:\Program Files (x86)\MSBuild

अन्य संस्करणों को खोजने के लिए।

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