2011-12-09 44 views
7

से कस्टम msbuild लक्ष्य पास करें मेरे पास एक बड़ी संख्या में संबंधित .csproj फ़ाइलों के साथ समाधान है।समाधान से प्रोजेक्ट

प्रत्येक .csproj फ़ाइल में <Target Name="PublishQA">... है।

निर्माण में विफल रहता है जब मैं पूरी समाधान संकलित करने के लिए प्रयास करें:

> msbuild mysolution.sln /t:PublishQA` 
"c:\myproj.sln" (publishqa target) (1) -> 
    c:\myproj.sln.metaproj : error MSB4057: The target "PublishQA" does not exist in the project. [c:\myproj.sln] 

जब मैं .csproj परियोजना सीधे निर्माण, तब भी वह अच्छे बनाता है।

मैं परियोजना फ़ाइलों को लक्षित करने के लिए msbuild कैसे कहूं ???

उत्तर

2

एक मामला आप अलग लक्ष्य फ़ाइल जो स्पष्ट रूप से अपने समाधान बनाता है बना सकते हैं के रूप में,

<!-- mytargets.targets file --> 
<Project ToolsVersion="4.0" 
     xmlns="http://schemas.microsoft.com/developer/msbuild/2003" 
     DefaultTargets="MyTargets" 
     InitialTargets="MyTargets"> 

    <Target Name="MyTargets"> 
     <MSBuild Projects="MySolution.sln" /> 
    </Target> 

</Project> 

तो अब आप में सक्षम होना चाहिए सिर्फ

MSBuild.exe mytargets.targets

है जैसे कि यह बुला