मैंने एक कस्टम 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
IDE के माध्यम से डेल्फी परियोजना में जोड़ना परियोजना प्रबंधक में फ़ाइल को अपेक्षित रूप से प्रदर्शित करता है, और .dproj
फ़ाइल में अब लाइन है ...
<TargetsFile Include="Custom.targets"/>
मैंने IDE के प्रोजेक्ट मैनेजर में फ़ाइल को राइट-क्लिक किया और चयनित किया Enable
। लेकिन जब परियोजना Build
संदेश खिड़की प्रदर्शित करता है बनाया गया है:
[MSBuild चेतावनी] Custom.targets (1): अक्षम आयात की अनदेखी:
PathToProjectSource\\Custom.targets
प्रोजेक्ट मैनेजर में फिर से राइट-क्लिक करना अभी भी Enable
उम्मीद के बजाय विकल्प दिखाता है Disable
।
कमांड लाइन में MSBuild ProjectName.dproj /t:Hello
भी विफल रहता है।
मैंने .dproj
लाइन जोड़ने के लिए फ़ाइल हैक करने की कोशिश की है ...
<Import Project="Custom.targets"/>
टाइपिंग MSBuild ProjectName.dproj /t:Hello
अब काम करता है। लेकिन अगली बार जब मैं प्रोजेक्ट फाइल को आईडीई से बचाता हूं तो <Import>
स्टेटमेंट हटा दिया जाता है।
किसी को भी किसी भी विचार है क्या गलत हो रहा है कृपया?
/t:Hello
साथ-साथ IDE से प्रोजेक्ट मैनेजर में राइट-क्लिक के साथ निर्माण - लक्ष्य - हैलो। मैंने Custom.targets
प्रोजेक्ट मैनेजर में राइट-क्लिक करके प्रोजेक्ट को जोड़ा है - ऐड - (फ़ाइल के लिए ब्राउज़ किया गया)। पथ .dproj फ़ाइल के समान निर्देशिका है।