2016-12-31 6 views
5

में StyleCop का उपयोग करना,Asp.net कोर में StyleCop प्रयोग करने के लिए इस <a href="https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/documentation/DotNetCli.md" rel="noreferrer">this article</a> के अनुसार Asp.net कोर

1) project.json फ़ाइल की निर्भरता अनुभाग के लिए निम्न जोड़ें:

"StyleCop.Analyzers": { 
    "version": "1.0.0", 
    "type": "build" 
} 

और परियोजना का निर्माण।

{ 
    "$schema": "https://raw.githubusercontent.com/DotNetAnalyzers/StyleCopAnalyzers/master/StyleCop.Analyzers/StyleCop.Analyzers/Settings/stylecop.schema.json", 
    "settings": { 
    "documentationRules": { 
     "documentInterfaces": true, 
     "documentInternalMembers": false  
    } 
    } 
} 

3) project.json फ़ाइल में buildOptions नोड के अंतर्गत निम्नलिखित:

"additionalArguments": ["/additionalfile:path/to/stylecop.json" ] 

2) stylecop.json बनाएँ और उस पर अपना विन्यास जोड़ने के लिए, यह मेरा stylecop.json सामग्री है लेकिन मुझे कुछ त्रुटियां मिलीं: समस्या क्या है?

enter image description here

+1

stylecop.json की राह क्या है? Stylecop.json कहां स्थित है आपके समाधान में पथ है कि पथ को आप अतिरिक्त में उल्लेख करना होगा। – Sanket

+0

साथ ही, बिल्डिंग प्रोजेक्ट के दौरान सुनिश्चित करें कि त्रुटि सूची आउटपुट 'बिल्ड + इंटेलिसेन्स' – Sanket

+1

पर सेट है, मैं अतिरिक्त प्रविष्टियों में addtionalArguments को बदलता हूं: ["stylecop.json"] ', लेकिन यह मुझे एक और त्रुटि देता है: 'टाइप या नेमस्पेस परिभाषा, या अंत-फ़ाइल की उम्मीद की गई ' – pejman

उत्तर

2

लघु उत्तर

उन NullReferenceException त्रुटियों हो सकता है जब StyleCop अपने stylecop.json नहीं मिल रहा। यहां related GitHub issue है।

इसे ठीक करने के (यह मानते हुए कि आपके stylecop.json अपनी परियोजना की जड़ में है) यह करने के लिए पथ बदल:

"additionalArguments": [ 
    "/additionalfile:./stylecop.json" 
] 

पूर्ण कार्य उदाहरण

निर्देशिका संरचना

bin 
obj 
Program.cs 
project.json 
project.lock.json 
stylecop.json 
StyleCop.ruleset 

परियोजना .json

{ 
    "version": "1.0.0-*", 
    "buildOptions": { 
    "debugType": "portable", 
    "emitEntryPoint": true, 
    "warningsAsErrors": true, 
    "nowarn": [ 
     "1591" 
    ], 
    "xmlDoc": true, 
    "additionalArguments": [ 
     "/ruleset:./StyleCop.ruleset", 
     "/additionalfile:./stylecop.json" <----- This is probably the problem. 
    ] 
    }, 
    "dependencies": { 
    "StyleCop.Analyzers": { 
     "type": "build", 
     "version": "1.0.0" 
    } 
    }, 
    "frameworks": { 
    "netcoreapp1.0": { 
     "dependencies": { 
     "Microsoft.NETCore.App": { 
      "type": "platform", 
      "version": "1.0.1" 
     } 
     } 
    } 
    } 
} 

stylecop.json

{ 
    "$schema": "https://raw.githubusercontent.com/DotNetAnalyzers/StyleCopAnalyzers/master/StyleCop.Analyzers/StyleCop.Analyzers/Settings/stylecop.schema.json", 
    "settings": { 
    "documentationRules": { 
     "documentExposedElements": false, 
     "documentInterfaces": false 
    } 
    } 
} 

StyleCop.ruleset

<?xml version="1.0" encoding="utf-8"?> 
<RuleSet Name="New Rule Set" Description=" " ToolsVersion="14.0"> 
    <Rules AnalyzerId="StyleCop.Analyzers" RuleNamespace="StyleCop.Analyzers"> 
    <Rule Id="SA0000" Action="Warning" /> 
    <Rule Id="SA1005" Action="Warning" /> 
    <Rule Id="SA1208" Action="Warning" /> 
    <Rule Id="SA1028" Action="Warning" /> 
    <Rule Id="SA1210" Action="Warning" /> 
    </Rules> 
</RuleSet> 

क्लोन और भागो उदाहरण

git clone [email protected]:bigfont/StackOverflow.git 
cd .\StackOverflow\AspNetCoreStyleCop\ 
dotnet restore 
dotnet build 
+0

जब मैं' StyleCop.ruleset' बनाना चाहता हूं तो यह मुझे त्रुटि देता है 'रूट पर डेटा स्तर अमान्य है '। – pejman

+0

उस त्रुटि का अर्थ है कि नियमसेट का एक्सएमएल अमान्य है। @pejman –

+0

क्यों? जैसा कि आपने कहा था, मैं इसे भी संपादित करने की अनुमति नहीं देता, और मुझे एक ही त्रुटि देता है – pejman