किसी और को इस मुद्दे का सामना करने के मामले में बस इसे यहां फेंक दें। ऐसा लगता है कि जब आप NuGet के माध्यम से MSBuildCommunityTasks को स्थापित करते हैं, तो समाधान में एक .build फ़ोल्डर जोड़ा जाता है, जिसे स्रोत कोड के साथ चेक-इन करने की अनुशंसा की जाती है। हालांकि, MSBuild.Community.Tasks.targets फ़ाइल में <MSBuildCommunityTasksPath>
तत्व है, जो c: \ Program Files (x86) फ़ोल्डर को इंगित करता है, जो गलत है। जब आप एमएसआई का उपयोग कर एमएसबिल्ड कम्युनिटी टास्क स्थापित करते हैं तो यह फ़ोल्डर मान्य होता है। यह Nuget के मामले में अमान्य है, जो आपके समाधान के संकुल फ़ोल्डर में MsBuildCommunityTasks स्थापित करता है। इसलिए मैं .targets फ़ाइल को संशोधित करने के समाप्त हो गया है, और करने के लिए बात करने के लिए MSBuildCommunityTasksPath
बदल दिया है:
<MSBuildCommunityTasksPath>$(SolutionDir)\packages\MSBuildTasks.1.4.0.56\tools</MSBuildCommunityTasksPath>
फिर भी कोई पासा। तो अंत में, मैं सिर्फ वेब प्रोजेक्ट फाइल द्वारा संपादित, और यह करने के लिए MSBuildCommunityTasks के लिए आयात तत्व बदल दिया है:
<Import Project="$(SolutionDir)\packages\MSBuildTasks.1.4.0.56\tools\MSBuild.Community.Tasks.Targets"/>
यह काम करता है, के बाद से यह सीधे परियोजना संकुल फ़ोल्डर में .Targets फ़ाइल देखने के लिए कहता है। ध्यान रखें, अगर आप MSBuildTasks संस्करण को अपग्रेड करते हैं, तो आपको आयात तत्व को बदलना होगा। मैं एक एमएसबिल्ड नोब हूं, इसलिए यदि कोई मुझे बता सकता है कि इसे कैसे स्वचालित किया जाए, तो यह बहुत अच्छा होगा!
यह उत्तर बहुत उपयोगी था, लेकिन मैंने पाया कि निर्देशिका जहां NuGet लक्ष्य फ़ाइल रखती है वर्तमान में है: '$ (SolutionDir) \। Build', इसलिए यदि उपर्युक्त सेटिंग्स काम नहीं करती हैं, तो मैं उत्तर को अपडेट करने की अनुशंसा करता हूं निम्न सेट करें: ' $ (SolutionDir) \। build MSBuildCommunityTasksPath> ' –
providencemac
यह NuGet पैकेज में PowerShell स्क्रिप्ट दिखाई देता है जो' 1.5 बिल्डर फ़ोल्डर को संस्करण 1.5 के बाद हटा दिया गया है, फिर भी' प्रारंभ करना गाइड अभी भी इसका उपयोग करने का सुझाव देता है। मैंने एक [मुद्दा] उठाया है (https://github.com/loresoft/msbuildtasks/issues/258)। – Neo