New to site?


Lost password? (X)

Already have an account?


(X)

Presents

#CSHARPCON20

The C# Corner Annual Conference 2020 is a three-day annual event for software professionals and developers.

3
DAYS
72
SPEAKERS
65
SESSIONS

Magnus Mårtensson
Microsoft Regional Director, Azure MVP, CEO Loftysoft

Avirag Jain
Director & CTO R Systems

Mahesh Chand
Founder C# Corner, CEO Mindcracker

Chris Gali
CEO & Co-Founder Graphite

Subinder Khurana
Chief Architect StoryProcess, Founder NASSCOM DeepTech Club

Bryan Rishforth
Investor, Chairman Graphite

Bryn Everson
Director Biz Dev Graphite

Raj Tiwari
Digital Transformation Leader, Futurist and Visionary

Joseph Guadagno
Microsoft MVP, Lead Quicken Loans

Nikita Sachdev
Entrepreneur, Blockchain Enthusiast & Advisor, Social Media Influencer

Doug Wagner
COO & Founder Adapt Technical Group

Ritesh Modi
Architect, Senior Evangelist, Cloud Architect

Crystal Wenrick
Director Communications Mindcracker

Allen O’Neill
Microsoft MVP, Consulting Engineer/Architect

Praveen Kumar
CEO MCN Solutions

Chris Love
Founder Love2Dev, Microsoft MVP, Author

Sanjay Vyas
Microsoft Regional Director, Microsoft MVP, Founder & CEO SkillLabs Technologies

Veena Sarda
Deep Learning Consultant, Author

Sekhar Srinivasan
C# Corner MVP, Microsoft Certified Trainer, Pluralsight Author

Lalit Bansal
Founder & CEO - EIY SYS

Navdeep Garg
CEO Revinfotech

Prakash Tripathi
Tech Manager/Leader, Microsoft MVP, Blogger

Bhavna Jain
Breakthrough Consultant

Naveen Sharma
Enterprise Architect, Leadership Coach, Author

Vidya Vrat Agarwal
Principal Architect, Microsoft MVP, Author

Sheetal Agarwal
Founder Clownselors, Medical Clown, Trainer

Abhishek Kant
Founder GTM Catalyst

Vishnu Saran
Founder & CEO VoiceQube

Sandeep Soni
Founder & CEO Deccansoft, Microsoft Certified Trainer

Parveen Malik
AVP InfoSec & Vulnerability Management, Information Security Expert

Nitin Pandit
Microsoft MVP, Developer Evangelist, Author

Niloshima Srivastava
C# Corner MVP, Tech Architect, Trainer, Blogger

Bala Chirtsabesan
Senior Software Engineer at Microsoft, Author

Manoj Mittal
Sr. Technical Architect, C# Corner MVP, Author

Chandni Di
Co-Founder Voice of Slum

Vithal Wadje
Technical Lead, Microsoft MVP, Author

Shivam Ahuja
Founder SkillCircle, Business Mentor

Chervine Bhiwoo
Solution Architect, Microsoft MVP, Author

Saurabh Jain
Vice President Paytm, Founder Fun2Do Labs, Author

Vinay Solanki
Head IoT at Lenovo, Founder IoT-NCR

Anshu kumari
Founder Blockchainkids, Inventor, Trainer

Amit Singal
CEO Startup Buddy

Dev Pratap
Co-Founder & CEO Voice of Slum

Amey Vartak
Technology Consultant, Full Stack Developer, C# Corner MVP, Author

Viswanatha Swamy
Principal Software Engineer, C# Corner MVP, Author

Sanket Verma
Research Engineer @ Ballistics (Forensics) and Chair, PyData Delhi

Sourabh Somani
Lead Developer, Microsoft MVP, Author

Abhishek Mishra
Software Architect, C# Corner MVP, Author

Siddharth Vaghasia
Technical Consultant, C# Corner MVP, Blogger

Bassam Alugili
Senior Software Specialist, Database Expert

S Ravi Kumar
Solution Architect, C# Corner MVP, Author

Sundaram Subramanian
Full Stack Developer, C# Corner MVP, Speaker

Deepesh Somani
Solution Architect, Microsoft MVP, Author

Debasis Saha
Technical Project Manager, C# Corner MVP, Blogger, Author

Vipul Jain
Software Architect, C# Corner MVP, Author

Akshay Patel
Technical Architect, Microsoft Certified Trainer, C# Corner MVP, Author

Stephen Simon
RPA Developer, Evangelist, Author

Vivek Sharma
Founder Kingster636, AR/VR Specialist

Jeetendra Gund
Technical Lead, C# Corner MVP, Author

Sujal Beniwal
AI Enthusiast, Student

M Viknaraj
Microsoft MVP, Azure Architect, Author

Prasham Sabadra
Software Architect, C# Corner MVP, Trainer, Author

Aakash Maurya
Senior Developer, C# Corner MVP, Speaker

Ankit Sharma
Senior Software Engineer, C# Corner MVP, Author

Mangesh Gaherwar
Team Lead, C# Corner MVP, Author

Viral Jain
Technical Consultant, C# Corner MVP, Author

Bhasker Das
Solution Architect, Evangelist

Manish Dwivedi
Associate Project Manager

Ck Nitin
Programmer, Author

Rohit Gupta
Technical Trainer, Author

Manish Tewatia
Full-stack Marketer, UX Designer

Bhavya Gaur
Technical Illustrator

Rohit Tomar
SEO/SMO Expert

Web Track

Cloud & Data Track

Dev Track

8am-9am

Registration & Breakfast

9am-10am

Future of Desktop Apps with JS (ElectronJs)

Nitin Pandit

Building Serverless Microservices Using Microsoft Azure

Vithal Wadje

Innovating RPA: A Robot for Every Person

Stephen Simon

10am-11am

Managing Cloud Storage Accounts using Logic Apps

Viknaraj Manogararajah

Data visualization using Python

Sekhar Srinivasan

Going Cross platform with AR Foundation

Vivek Sharma

11am-12pm

Keynote

12pm-1pm

Managing your Azure dependencies in ASP.NET Core apps using VS

Bala Chirtsabesan

Securing Applications on Intelligent Azure

Abhishek Mishra

Getting started with Blazor the Framework of Future

S Ravi Kumar

1pm-2pm

Lunch

2pm-2:45pm

Build Progressive Web Apps using Angular 9

Debasis Saha

Build and deploy to any platform using Azure DevOps

Chervine Bhiwoo

Deep Dive in Azure Service Bus

Akshay Patel

2:45pm-3:45pm

Build a Native Mobile Application using React Native and JavaScript

Joseph Guadagno

Making sense of Web Job, Web Job SDK and Functions in Azure

Prakash Tripathi

CloudFront Distribution in AWS

Viral Jain

3:45pm-4pm

Tea Break

4pm-4:30pm

Introduction to PowerBI

Aakash Maurya

Build Advanced SPFx solutions with React and Graph API

Siddharth Vaghasia

Build Business Intelligence Analyst (BIA) Skills

Sundaram Subramanian

4:30pm-5pm

Deep dive of Power Platform – AI BUILDER

Prasham Sabadra

Panel 1

What's new in SharePoint development

Vipul Jain

5pm-5:30pm

Build a SSO (Single Sign On) based Native JavaScript application with Microsoft Identity within 10 minutes

Manoj Mittal

Panel 2

Applications and working of AI

Veena Sarda

5:30pm-6pm

Deploying serverless API's with .Net core 3.0 on AWS & Azure

Amey Vartak

Panel 3

Blockchain with .NET Core (Ark)

Anshu Kumari

6pm-6:30pm

Closing Note & Prize Distribution

Dev Track

Cloud Track

Architecture Track

Emerging Tech Track

8am-9am

Registration & Breakfast

9am-10am

Creating Full-Stack Web Apps Using Server-Side Blazor

Ankit Sharma

Real time face recognition with MS Cognitive Services

Niloshima Srivastava

Building Scalable APIs with GraphQL

Jeetendra Gund

Future of development with AI and Blockchain

Navdeep Garg

10am-11am

Debugging Tips and Tricks with Visual Studio 2019

Joseph Guadagno

Azure Containers

Abhishek Kant

Enterprise Architecture

Naveen Sharma

Bot Framework - learn it fast and look like a boss!

Allen O’Neill

11am-12:30pm

Keynote

12:30pm-1:30pm

.Net Core & C# 8 Performance

David McCarter

Working with Azure kubernetes services

Ritesh Modi

Becoming an Architect

Vidyavrat Agarwal

Why Techies Need to Learn Product Management

Saurabh Jain

1:30pm-2:30pm

Lunch

2:30pm-3:30pm

Build a rules engine in .Net Core

Sanjay Vyas

Building CI and CD Pipeline using Azure DevOps

Sandeep Soni

Entity Framework Core - Tips and Tricks, Performance Optimization, and Tuning

Bassam Alugili

Hacking your way into Data Science

Sanket Verma

3:30-4:15pm

Speed up your .Net Core Website

Sourabh Somani

Azure

Magnus Mårtensson

Demystifying Open Distro for Elasticsearch

Suman Debnath

Future of Data

Shivam Ahuja

4:15pm-4:30pm

Tea Break

4:30pm-5:15pm

gRPC with C# and .Net Core

Mangesh Gaherwar

Panel 1

Essentials of Cloud security

Parveen Malik

Power platform and Dynamics 365

Deepesh Somani

5:15pm-6pm

Microservices - the gRPC Way

Viswanatha Swamy

Panel 2

Reserved

Reserved

6pm-6:30pm

Closing Note & Prize Distribution

Writing cleaner C# code with StyleCop and analyzers

Clean C# is rarely the result of one rigid formatter or a final formatting pass. It emerges when conventions are encoded close to the code, feedback arrives while changes are small, and every rule has a clear purpose. StyleCop and analyzers make many of those expectations visible, turning subjective code-review comments into repeatable diagnostics that developers can resolve in their editor or build.

The C# Corner Annual Conference 2020 brings together C#, Azure, cloud, data, DevOps and AI practitioners, so clean code belongs alongside the systems those teams design. Consistent naming, documentation and control flow reduce the cognitive load carried into APIs, pipelines and maintenance work. Automated checks also let reviewers spend more time on design and behaviour instead of debating brace placement.

Used well, these tools do not impose one universal style. They create a shared contract between a team and its future maintainers. The strongest approach combines narrowly scoped configuration, sensible defaults, gradual adoption and a build pipeline that reports meaningful failures without flooding pull requests with low-value noise.

Establish a practical quality baseline

An analyzer inspects source code during compilation and reports a diagnostic when a rule is violated. Unlike a formatter, an analyzer can examine naming, documentation, control flow, API usage and other structural concerns. Every diagnostic usually has an identifier, such as SA1600 for a StyleCop rule or CA1822 for a .NET analyzer, making results easy to search, configure and discuss.

StyleCop, the .NET SDK and editor code-style analyzers solve overlapping but distinct problems. The main tools fit together as follows.

Capability Primary value Diagnostic focus Main configuration
StyleCop.Analyzers Consistent C# conventions SA rules for documentation, ordering, naming and layout stylecop.json and .editorconfig
.NET SDK analyzers Reliability, security and design guidance CA rules for performance, exception handling and API usage AnalysisLevel and .editorconfig
IDE code-style analyzers Editor formatting preferences IDE rules for var, braces, expressions and unnecessary code .editorconfig and build enforcement settings
Custom Roslyn analyzers Organisation-specific constraints Project-defined diagnostics and code fixes Analyzer project, package and test suite

A useful baseline starts with rules that prevent defects or inconsistencies likely to cause real maintenance costs. Documentation rules, naming conventions and common reliability checks are often more valuable than enforcing every available preference. Teams should also agree on which findings block a build, which appear as warnings and which remain optional guidance for an individual developer.

Configure StyleCop without fighting the team

StyleCop is commonly added at solution level with dotnet add package StyleCop.Analyzers. Central package management makes it easier to keep the version consistent across repositories and ensures that local builds, CI agents and container images analyse the same code in the same way. A new project can therefore inherit the agreed baseline without each developer copying settings by hand.

Severity belongs in .editorconfig, where it can be overridden by project or file path when justified. For example:

[*.cs]
dotnet_diagnostic.SA1600.severity = suggestion
dotnet_diagnostic.CA1822.severity = warning

A stylecop.json file complements this configuration by controlling StyleCop settings such as company information, documentation expectations and naming rules. The division is important: .editorconfig defines how strongly a diagnostic is reported, while stylecop.json defines how the relevant StyleCop rule behaves. Confusing those responsibilities often produces a large .editorconfig file that nobody wants to maintain.

Adoption should be gradual in an established codebase. Existing warnings can be recorded as a baseline while changed files are held to the new standard. Selected rules can later be promoted from suggestions to warnings or errors, but turning on every diagnostic at once encourages developers to ignore the output. A small, credible set of enforced rules creates far more value than hundreds of ignored messages.

Combine convention checks with deeper analysis

StyleCop provides a strong C# style foundation, but it does not attempt to replace the analyzers shipped with the .NET SDK. The built-in CA rules examine concerns such as null handling, resource disposal, culture-sensitive operations, insecure API choices and avoidable allocations. These checks can identify issues that look syntactically tidy but remain risky in production.

The .NET SDK also supports IDE-style diagnostics, including preferences around var, unnecessary conversions and expression bodies. Setting EnforceCodeStyleInBuild to true moves selected editor preferences into the build, preventing a file from passing CI because the correct option was never enabled in an IDE. The underlying settings still live in .editorconfig, so the policy remains visible and portable.

Additional packages can extend this coverage. Security, maintainability and performance analyzers may catch specialised defects, while custom Roslyn analyzers can enforce a domain rule that no general-purpose tool understands. A custom analyzer might reject a controller action that returns inconsistent status codes or prohibit a legacy method from accepting an ambiguous date. Such tools deserve their own tests, versioning and release process because a faulty diagnostic can interrupt an entire delivery pipeline.

Make diagnostics actionable and controlled

A clean report should tell the developer what failed, where it failed and what change is expected. Teams should preserve the diagnostic identifier in build output and link it to an internal policy when the rule needs context. This makes it possible to distinguish a genuine coding problem from a rule that has been disabled for a particular project or file.

Suppressions require careful handling. A narrow #pragma warning disable SA1633 can be appropriate when generated code or a justified exception cannot follow the rule, but it should include a nearby explanation and a realistic removal condition. Changing the rule’s configuration or fixing the underlying design is usually better than scattering suppressions through the repository. Blanket suppression files can conceal genuine regressions and turn the analyser into decoration.

Code fixes can make large corrections safer. Commands such as dotnet format analyzers --diagnostics SA1633 can apply an available fix to matching diagnostics, while dotnet format style handles supported editor-style corrections. Automatic changes should still be reviewed as ordinary code. Formatting a newly touched area is low risk; rewriting an entire legacy solution in one pass can produce an unreviewable diff and obscure unrelated behaviour changes.

Enforce quality through the delivery pipeline

Local execution and CI should use the same configuration. Developers can run the relevant build and formatting verification commands before pushing, while the pipeline repeats those checks on a clean checkout. A typical flow restores locked dependencies, builds with analyzers enabled and runs dotnet format --verify-no-changes against the supported categories. The verification step fails when an automatic correction is still required.

Not every warning should be treated as a build failure on the first adoption pass. Legacy projects may need a baseline, and teams often prefer to separate newly introduced findings from existing debt. Selected diagnostics can be configured as errors, while the remainder are reported for gradual cleanup. Publishing the analyser results as build artefacts also gives reviewers a stable view of what changed in a pull request.

Distributed teams add another Australian consideration. Teams in Sydney and Melbourne share UTC+10 during standard time and UTC+11 during daylight saving, while Brisbane remains on UTC+10 and Perth uses UTC+8. CI schedules and release windows should account for those differences, and centrally stored reports ensure that a reviewer in another city sees the same findings as the developer who triggered the build.

Measure outcomes and keep ownership clear

Warning counts are useful signals, but they do not by themselves demonstrate cleaner code. Teams can compare the number of findings in changed files, review time, repeated code-review comments and defects linked to maintainability problems. Time taken to onboard a contributor is another practical measure because consistent conventions make unfamiliar code easier to navigate.

Conventions should reflect the organisation and its users. Australian-facing documentation commonly uses Australian English, including spellings such as “organisation” and “analyse”, while public API names should remain stable once published. Machine-readable dates are usually exchanged in ISO 8601, with DateOnly removing an irrelevant time component; DD/MM/YYYY formatting is better reserved for Australian-facing presentation. These distinctions can be documented and checked without forcing every codebase into the same naming policy.

Australian software teams serving retail, logistics and public-sector clients regularly combine .NET services with Azure-hosted components, making dependable conventions valuable beyond a single repository. A related conference resource examines a media streaming app, where clear service boundaries and maintainable code remain essential as delivery requirements evolve. StyleCop and analyzers work best when they make that shared standard automatic, visible and owned by the whole engineering team.

The Leela Ambience Convention Hotel

1, CBD, Maharaj Surajmal Road, Near Yamuna Sports Complex, Delhi, 110032

KNOW MORE

GENERAL QUERIES


Manish Tewatia

+91-9718-431-042

TICKET QUERIES


Atul Gupta

+91-9910-125-804