मैंने एक कस्टम MSBuild .targets
फ़ाइल बनाई है जिसे मैंने आईडीई के माध्यम से डेल्फी एक्सई प्रोजेक्ट में शामिल किया है और इसे प्रोजेक्ट मैनेजर के संदर्भ मेनू से सक्षम किया है। हालांकि फ़ाइल मान्य है, प्रोजेक्ट फ़ाइल को फिर से सहेजने के बाद यह हमेशा अक्षम हो जाता है।डेल्फी एक्सई कस्टम बिल्ड लक्ष्य हमेशा अक्षम किया जाता है
यहां Custom.targets
नामक लक्ष्य फ़ाइल का सरलीकृत संस्करण है।
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="Hello">
<Message Text="Hello from custom target"/>
</Target>
</Project>
योग्य स्वतंत्र फ़ाइल इस रूप में की उम्मीद काम करता है के रूप में: टाइपिंग ...
MSBuild Custom.target /t:Hello
... आदेश पंक्ति पर उम्मीद संदेश देता है।
आईडीई के माध्यम से एक डेल्फी परियोजना के लिए Custom.targets
जोड़ा जा रहा है के रूप में उम्मीद परियोजना प्रबंधक में फ़ाइल को प्रदर्शित करता है, और .dproj
फ़ाइल अब पंक्ति है ...
<TargetsFile Include="Custom.targets"/>
मैं दायाँ क्लिक किया है आईडीई के दशक में फ़ाइल परियोजना प्रबंधक और चयनित Enable
। लेकिन जब परियोजना Build
संदेश विंडो प्रदर्शित करता है बनाया गया है:
[MSBuild चेतावनी] Custom.targets (1): विकलांग आयात की उपेक्षा:
PathToProjectSource\\Custom.targets
परियोजना प्रबंधक में फिर से राइट क्लिक अभी भी पता चलता अपेक्षित Disable
के बजाय Enable
विकल्प।
कमांड लाइन MSBuild ProjectName.dproj /t:Hello
भी विफल हो जाती है।
मैं पंक्ति जोड़ने के लिए .dproj
फ़ाइल हैकिंग की कोशिश की है ...
<Import Project="Custom.targets"/>
MSBuild ProjectName.dproj /t:Hello
लिखने से अब काम करता है। लेकिन अगली बार जब मैं आईडीई से प्रोजेक्ट फ़ाइल को सहेजता हूं तो <Import>
कथन हटा दिया जाता है।
किसी को भी पता है कि क्या गलत हो रहा है?
कमांडलाइन से MSBuild का उपयोग कर के अपने उदाहरण में आप _Custom.target_ जबकि हर जगह दिखाने अन्यथा आप _Custom.targets_ का उपयोग करते हैं। जो यह है? –
अच्छी जगह - मैंने यह नहीं देखा था कि कोड पर बहुत ज्यादा घूरने के बावजूद। मैं कुछ दिनों (अस्पताल में) के लिए डेल्फी के साथ एक मशीन नहीं जा सकता, लेकिन जब मैं कर सकता हूं तो लगातार "लक्ष्य" या "लक्ष्य" का उपयोग करके कोड का प्रयास करूंगा। – delphidabbler
डेल्फी उपयोगकर्ता नहीं, लेकिन [इस] के अनुसार (http://docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/HelpUpdate2/EN/html/devcommon/targetsfiles_xml.html) _ सभी। लक्ष्य फ़ाइलों में वैध MSBuild स्क्रिप्ट शामिल होनी चाहिए त्रुटियों से मुक्तअगर फ़ाइल में कोई त्रुटि है, तो आपको अधिसूचित किया जाता है और, यदि प्रोजेक्ट अमान्य। Targets फ़ाइल का संदर्भ देता है, तो यह अक्षम है और त्रुटियों को ठीक होने तक पुनः सक्षम नहीं किया जा सकता है ._ डबल चेकिंग के लायक हो सकता है सब ठीक है जैसा कि बताता है आप जो लक्षण प्राप्त कर रहे हैं –