2017-04-07 11 views
7

लोगों के साथ समस्याएं मेरे पास पहले 2012 में बनाई गई सेवाओं का एक सेट है, जो - वर्षों से नीचे - Vs2010, Vs2013 & Vs2015 के साथ निर्बाध रूप से बनाया गया है।MSBuild.Community.Tasks vs2017

जब मैं Vs2017 साथ बनाने की कोशिश मैं

MSBuild.Community.Tasks.Attrib कार्य विधानसभा विधानसभा C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\MSBuildCommunityTasks फ़ोल्डर के अंतर्गत रहता से लोड नहीं हो सका हो, लेकिन कोई MSBuildCommunityTasks फ़ोल्डर है \2017\Professional\MSBuild फ़ोल्डर के तहत।

यहाँ पूर्ण त्रुटि

C:\working\MySolution\build\Build.proj" (default target) (1) -> 
(SetAssemblyVersion target) -> 
    C:\working\MySolution\build\Build.proj(100,5): error MSB4062: The "MSBuild.Community.Tasks.Attrib" task could not be loaded from the assembly C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\MSBuildCommunityTasks\MSBuild.Community.Tasks.dll. 
    Could not load file or assembly 'file:///C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\MSBuildCommunityTasks\MSBuild.Community.Tasks.dll' or one of its dependencies. 
    The system cannot find the file specified. Confirm that the <UsingTask> declaration is correct, that the assembly and all its dependencies are available, and that the task contains a public class that implements Microsoft.Build.Framework.ITask. 

Vs2015 और Vs2017 के बीच क्या बदल गया है?
इसे ठीक करने के लिए मुझे क्या करने की ज़रूरत है?

+1

मुख्य परिवर्तन स्थापित पथ है। स्टैंडअलोन बिल्ड टूल्स इंस्टॉल के मामले में इसे अब एक संस्करण फ़ोल्डर समेत एक वीएस फ़ोल्डर के नीचे घोंसला दिया गया है। रिलीज नोट्स के लिए [एमएसबिल्ड रिलीज नोट्स] देखें (https://docs.microsoft.com/en-us/visualstudio/msbuild/what-s-new-in-msbuild-15-0)। आपकी समस्या संभावित नए स्थान पर नहीं रखे जा रहे लक्ष्यों के कारण होने की संभावना है। Azure SDK के लिए कुछ उपयोगी सुझावों के साथ उनके गिट [MSBuild issue] (https://github.com/Microsoft/msbuild/issues/1888) पर एक खुली समस्या है। –

+0

धन्यवाद Siobhan, मैं इसे सोमवार –

+0

देखेंगे आप इसे 'MSBuildCommunityTasks' की प्रतिलिपि बना सकते हैं जहां इसकी तलाश है। यानी कॉपी करें 'सी: \ प्रोग्राम फ़ाइलें (x86) \ MSBuild \ MSBuildCommunityTasks' 'C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Community \ MSBuild' – wal

उत्तर

3

स्पष्ट रूप से MSBuildCommunityTasksPath संपत्ति को सेट करने से समस्या को हल हो जाता है।

मैं इसे अपनी build.proj फ़ाइल के शीर्ष पर करता हूं। \ Program Files (:

<MSBuildCommunityTasksPath>$(trunk)\Ref\Build\MSBuildCommunityTasks</MSBuildCommunityTasksPath> 
1

एक्सटेंशन सबसे अधिक संभावना 'सी में स्थापित कर रहे हैं (ऐतिहासिक कारणों से हम समुदाय का निर्माण कार्य हमारे रेपो में जो कारण है कि यह ट्रंक के तहत एक स्थान पर सेट है रखने के लिए,) x86) \ MSBuild '। इसलिए मैंने वर्तमान में वर्कअराउंड के रूप में अपने प्रोजेक्ट में चर को स्पष्ट रूप से सेट किया है।

<MSBuildExtensionsPath>C:\Program Files (x86)\MSBuild</MSBuildExtensionsPath> 
संबंधित मुद्दे