Tracing a project was easy in MSBuild 4.0/VS2010, आपको केवल रजिस्ट्री कुंजी सेट करना था जो एक msbuild/debug कमांड लाइन विकल्प सक्षम करता था। प्रोजेक्ट फ़ाइल की शुरुआत में डीबगर लॉन्च और ब्रेक होगा।MSBuild 12.0/VS2013 में प्रोजेक्ट फ़ाइल को डीबग कैसे करें?
एमएसबिल्ड 12 इसके लिए एक नया पर्यावरण चर प्रस्तुत करता है। कमांड प्रॉम्प्ट पर, MSBUILDDEBUGONSTART = 1 सेट करें और फिर MSBuild चलाएं (कोई कमांड लाइन स्विच नहीं)। यह डीबगर लॉन्च करता है, लेकिन कोई ब्रेक नहीं करता है। परियोजना सिर्फ वीएस के साथ पूरा होने के लिए चलाती है।
क्या मुझे कोई सेटिंग याद आ रही है? या यह (अनियंत्रित) सुविधा हटा दी गई है? मैं कम से कम डीबग ब्रेक में हार्ड कोडिंग द्वारा रुकने के लिए डीबगर प्राप्त करने में सक्षम था, लेकिन इससे मुझे प्रोजेक्ट फ़ाइल का पता लगाने में मदद नहीं मिलती है।
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"
InitialTargets="Init">
<UsingTask TaskName="LaunchDebugger"
TaskFactory="Microsoft.Build.Tasks.CodeTaskFactory"
AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v12.0.dll">
<ParameterGroup />
<Task>
<Using Namespace="System" />
<Code Type="Fragment" Language="cs">
<![CDATA[
System.Console.WriteLine("Launching debugger...");
System.Diagnostics.Debugger.Launch();
]]>
</Code>
</Task>
</UsingTask>
<UsingTask TaskName="DebugBreak"
TaskFactory="Microsoft.Build.Tasks.CodeTaskFactory"
AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v12.0.dll">
<ParameterGroup />
<Task>
<Using Namespace="System" />
<Code Type="Fragment" Language="cs">
<![CDATA[
System.Diagnostics.Debugger.Break();
]]>
</Code>
</Task>
</UsingTask>
<Target Name="Init">
<LaunchDebugger />
<DebugBreak />
</Target>
...
फिर वही व्यक्ति जिसने हमें मूल रूप से इस सुविधा के बारे में बताया था? या तो सईद इब्राहिम हाशिमी या ब्रायन क्रेटज़लर। –
आपको * ट्रेसिंग * के बजाय प्रसिद्ध और सही शब्द * डीबगिंग * का उपयोग करने के लिए अपने प्रश्न का नाम बदलना चाहिए ताकि अगर कोई जवाब आ जाए तो यह खोजने योग्य – stijn
@ImaDirtyTroll क्या आपको कभी इसके लिए कोई समाधान मिला? – stijn