Skip to content

Nosnitor Project Standards

Jeff Block edited this page Apr 2, 2019 · 6 revisions

Nosnitor ProjectStandards

Nosnitor Corporation

Build Status Quality Gate Status Coverage Release badge Nosnitor.ProjectStandards package at NuGet.org

About Nosnitor ProjectStandards

The ProjectStandards project packages Visual Studio/FxCop Code Analysis rulesets for use by applications into NuGet package(s). The following rulesets are included:

Ruleset Description
Nosnitor.ruleset The primary code analysis ruleset used by Nosnitor applications.
Nosnitor.TestProject.ruleset The primary code analysis ruleset used by Nosnitor test assemblies.

More information can be found on the ProjectStandards Wiki.

Install

Add the ProjectStandards NuGet package to your project.

Usage

Code Analysis

The following is the default behavior for how the code analysis ruleset is applied:

Standard Project

Ruleset: Nosnitor

A standard Visual Studio project file.

Test Project

Ruleset: Nosnitor.TestProject

A project with any of the following attributes:

  • ProjectTypeGuids contains Test project type (3AC096D0-A1C2-E12C-1390-A8335801FDAB)
  • TestProjectType is defined
  • IsCodedUITest is true

Customizing code analysis behavior

The default behavior can be overridden by using the UseTestProjectStandards property in the project file.

If true, the Nostnitor.TestProject ruleset will be used.

For example:

<PropertyGroup>
	<UseTestProjectStandards>True</UseTestProjectStandards>
</PropertyGroup>

If set, this value will override all other conditions.

Contributing

Developers contributing to other Nosnitor projects are encouraged to contributing to the ProjectStandards project if need be.

Developer environment

Requirements

  • Powershell v3+
  • Visual Studio Enterprise 2017

Building and Testing

The project can be built using the following command from the root of the project:

.\Build.ps1

Automated testing can be executed by using the following command from the root of the project:

.\Test.ps1

License

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.