2014-11-21 5 views
7

क्या विजुअल स्टूडियो/टीएफएस बिल्ड के दौरान रोज़लिन बिल्ड प्रक्रिया में हुक करना संभव है, और यदि हां, तो माइक्रोसॉफ्ट को पकड़ना संभव है। कोड एनालिसिस। सॉल्यूशन/माइक्रोसॉफ्ट.कोडएनालिसिस। संकलन के दौरान Roslyn द्वारा प्रोजेक्ट उदाहरण का उपयोग किया जा रहा है?रोसलीन बिल्ड प्रक्रिया में हुक

+0

यदि आप कहें कि आप क्या हासिल करने की कोशिश कर रहे हैं तो यह आपकी मदद करना आसान होगा। उदाहरण के लिए, आप अपेक्षाकृत आसानी से अतिरिक्त कोड डायग्नोस्टिक्स जोड़ सकते हैं। –

+0

@ जोन: मैं कुछ संदर्भ सत्यापन (उदाहरण के लिए प्रोजेक्ट्स जो कुछ अन्य परियोजनाओं का संदर्भ नहीं देना चाहिए) परियोजनाओं पर करना चाहता हूं, इसलिए मुझे माइक्रोसॉफ्ट को पकड़ने की आवश्यकता है। कोडएनालिसिस। सॉल्यूशन इंस्टेंस का निर्माण किया जा रहा है। – dotarj

+1

दाएं। ऐसा लगता है कि यह Roslyn की तुलना में एक एमएसबिल्ड कार्य के लिए कुछ बेहतर हो सकता है ... जिसका मतलब यह नहीं है कि * रोज़लिन में ऐसा करने का एक तरीका नहीं है। –

उत्तर

0

जिस तरह से मैं इसे देखता हूं, जॉन उनकी टिप्पणी में काफी सही है। मैं सुझाव दूंगा कि एक एमएसबिल्ड कार्य बनाना है, जो कि निर्माण प्रक्रिया में आपकी वांछित हुक है।

एक एमएसबिल्ड परियोजना फ़ाइल बनाएं (आपने शायद उन्हें पहले ही देखा है, यह वह फ़ाइलें हैं जिनके पास .targets एक्सटेंशन है)।

<?xml version="1.0" encoding="utf-8"?> 
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
    <UsingTask TaskName="MyNamespace.MyReferenceValidationTask" AssemblyFile="MyPath\MyNamespace.dll"/> 
    <Target 
     BeforeTargets="BeforeCompile" 
     Name="ValidationTarget"> 
     <MyNamespace.MyReferenceValidationTask 
      SolutionRoot="$(SolutionDir)" /> 
    </Target> 
</Project> 

"MyNamespace.MyReferenceValidationTask" टैग "SolutionRoot" में विशेषता अपने कार्य में अपनी संपत्ति है: यह इस तरह दिखता है। विजुअल स्टूडियो में उपलब्ध सभी मैक्रोज़ भी यहां उपलब्ध हैं। (यहां इस पोस्ट को देखें: https://stackoverflow.com/a/1453023/978594)

कार्य के अंदर आप जो करते हैं वह पूरी तरह से आपके ऊपर है। उदाहरण के लिए, आप रोज़लिन के साथ अपनी समाधान फ़ाइल लोड कर सकते हैं और इस प्रकार सभी परियोजनाएं और उनके संदर्भ हैं और आपकी वांछित सत्यापन कर सकते हैं।

संबंधित मुद्दे