में कोड विश्लेषण विश्लेषण सेटिंग सेट करना मैं निर्माण प्रक्रिया के दौरान कोड विश्लेषण और समेकित सेटिंग्स को मजबूर करने के संबंध में टीएफएस की हमारी टेस्ट स्थापना में कुछ सेटिंग्स सेट/ओवरराइड करने का प्रयास कर रहा हूं (परियोजना फाइल को सेट करने की सेटिंग के बावजूद)TFSBuild.proj
वर्तमान में हम अपनी परीक्षा TFS स्थापना में उपयोग करें:
- Visual Studio 2012 परम हमारे डेवलपर मशीनों पर और सर्वर का निर्माण
- TFS 2012 के एक सर्वर पर इंस्टॉल किया गया है (आवेदन और डेटा स्तर)
- में किसी अन्य सर्वर पर स्थापित TFS 2012 बिल्ड सेवा (नियंत्रक और एजेंट)
हम अपेक्षाकृत नमूना .NET 4.5 प्रोजेक्ट (कक्षा पुस्तकालय (डीएलएल), वेब अनुप्रयोग इत्यादि) संकलित कर सकते हैं। यह संबंधित कोड विश्लेषण सेटिंग्स (उम्मीद है) को ओवरराइड करने के साथ पूरी तरह से करना है।
परिदृश्य 1 - जब आप प्रोजेक्ट सेटिंग्स (राइट क्लिक -> समाधान एक्सप्लोरर में गुण) का चयन करते हैं तो हमारे डेवलपर मशीनों पर हमारे नमूना अनुप्रयोगों में, कोड विश्लेषण टैब पर जाएं यदि मैं "निर्माण पर कोड विश्लेषण सक्षम करें" चालू करता हूं और ड्रॉप डाउन से नियम सेट का चयन निष्पादित के रूप में किया जाता है, इसलिए यह कुछ चेतावनियां उत्पन्न करेगा। नोटपैड में खोले जाने पर यह तकनीकी * .csproj फ़ाइल में <RunCodeAnalysis>false</RunCodeAnalysis>
जोड़ता है। यदि निर्माण नमूना परियोजना/समाधान संकलित करने के लिए निष्पादित किया गया है तो कोड विश्लेषण अपेक्षित के रूप में किया जाता है। मैं हर परियोजना पर ऐसा नहीं करना चाहता क्योंकि एक डेवलपर इसे बंद कर सकता है (हालांकि मैं चेक-इन नीतियों और/या निजी/गेटेड चेकइन के साथ-साथ इसे मजबूर करने के लिए भी देख रहा हूं)।
परिदृश्य 2 - मैं "बिल्ड पर कोड विश्लेषण सक्षम करें" चेकबॉक्स को अक्षम कर सकता हूं और हमारी TFSBuild.proj फ़ाइल में बल कोड विश्लेषण अक्षम कर सकता हूं (हम (डिफ़ॉल्ट रूप से) डिफ़ॉल्ट अपग्रेडेटप्लेट.एक्सएएमएल को हमारी प्रक्रिया परिभाषा के रूप में उपयोग करेंगे क्योंकि हम से उन्नयन करेंगे TFS 2008 हमारे LIVE TFS स्थापना) पर होने से:
<RunCodeAnalysis>Always</RunCodeAnalysis>
यह काम करता है और यह कैसे हम (सबक अभी भी अपना पक्ष रखना सीखा :-) के लिए बाध्य करेगा है) कोड विश्लेषण पर हमारे बनाता है।
समस्या तब उत्पन्न होती है जब अन्य समेकित कोड विश्लेषण सेटिंग्स सेट करते हैं। उदाहरण के लिए त्रुटियों के रूप में सीए चेतावनियों को लागू/उपयोग या इलाज करने के लिए कौन सा डिफ़ॉल्ट नियम सेट (ओं)। इन सेटिंग्स में से कुछ को या तो वीएस में सेट किया जा सकता है या उन सभी को नोटपैड में * .csproj संपादित करके सेट किया जा सकता है। यदि मैं * .csproj संपादित करता हूं तो इन मानों को निर्माण के रूप में उपयोग किया जाता है (साथ ही स्थानीय रूप से डेवलपर मशीन पर)। यह आदर्श नहीं है क्योंकि मैं इसे प्रत्येक परियोजना फ़ाइल को संपादित किए बिना TFSBuild.proj में केंद्रीय रूप से करना चाहता हूं। मेरा मानना है कि मैं इस तरह के मेरी TFSbuild.proj फ़ाइल में के रूप में सेटिंग्स का उपयोग कर सकते हैं:
<PropertyGroup>
<RunCodeAnalysis>Always</RunCodeAnalysis>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisTreatWarningsAsErrors>true</CodeAnalysisTreatWarningsAsErrors>
</PropertyGroup>
लेकिन वे काम करने के लिए प्रकट नहीं होते हैं या मैं उन्हें गलत जगह में डाल रहा हूँ? मैं उन्हें सही तरीके से कैसे ठीक/उपयोग कर सकता हूं?
FYI करें मैं द्वारा TFSBuild.proj में मेरे समाधान का निर्माण:
<Project DefaultTargets="DesktopBuild" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\TeamBuild\Microsoft.TeamFoundation.Build.targets" />
<ItemGroup>
<SolutionToBuild Include="/some folder/some solution.sln" />
<ConfigurationToBuild Include="Debug|Any CPU">
<FlavorToBuild>Debug</FlavorToBuild>
<PlatformToBuild>Any CPU</PlatformToBuild>
</ConfigurationToBuild>
</ItemGroup>
</Project>
निर्माण सर्वर पर मैं सी में कोड विश्लेषण के लिए लक्ष्य फ़ाइल के संदर्भ में मिला: \ Program Files (x86) \ MSBuild \ Microsoft \ VisualStudio \ v11.0 \ CodeAnalysis लेकिन मैं बिल्ड सर्वर पर डिफ़ॉल्ट व्यवहार को बदलना नहीं चाहता (हालांकि यह तब करता है जब मैं करता हूं)। CodeAnalysisTreatWarningsAsErrors के लिए उदाहरण के लिए शर्त को गलत के रूप में मूल्यांकन किया जाना चाहिए। मेरे मूल्यों की तरह यह TFSBuild.proj से नहीं पढ़ा जाता है लेकिन .csproj फ़ाइल से हैं।
कोई प्रश्न पूछने के लिए स्वतंत्र महसूस हो रहा है और अग्रिम