System.Diagnostics.Contracts
NuGetv4.3.0Provides static classes for representing program contracts such as preconditions, postconditions, and invariants. Commonly Used Types: System.Diagnostics.Contracts.Contract System.Diagnostics.Contracts.ContractClassAttribute System.Diagnostics.Contracts.ContractClassForAttribute System.Diagnostics.Contracts.ContractFailureKind System.Runtime.CompilerServices.ContractHelper System.Diagnostics.Contracts.ContractInvariantMethodAttribute System.Diagnostics.Contracts.PureAttribute System.Diagnostics.Contracts.ContractArgumentValidatorAttribute System.Diagnostics.Contracts.ContractVerificationAttribute System.Diagnostics.Contracts.ContractOptionAttribute When using NuGet 3.x this package requires at least version 3.4.
Not recommended for new projects
No — System.Diagnostics.Contracts should not be adopted for new projects. Last published 3585 days ago. No license declared — you have no explicit right to use this code.
- ?Adoption: grade ?, Not reported by this registry.
No download data reported for this package yet.
- FMaintenance: grade F, Failing.
Last published 3585 days ago.
- AWeight: grade A, Excellent.
Pulls in 3 transitive packages (at least — some of the tree is still being crawled).
- BSupply chain: grade B, Good.
This package has a single maintainer (bus factor of 1).
- FLicense: grade F, Failing.
No license declared — you have no explicit right to use this code.
Grades are computed deterministically from registry metadata collected by PackageGraph — downloads, dependents, publish dates, the resolved dependency tree, maintainer count, and declared licenses. No third-party scores are used.
Install cost
What you actually take on by adding System.Diagnostics.Contracts to a project.
Runtime packages this one declares itself.
Distinct packages in the full runtime tree, deduplicated the way a package manager would.
Longest resolved dependency chain below this package.
Part of this dependency tree has not been crawled yet, so these figures are a lower bound rather than a final total.
Licenses in the dependency tree
Every license you inherit by installing System.Diagnostics.Contracts, not just its own. Check this before a legal review, not after.
Compatibility
- .NET
- No constraint declared
Dependencies
Declared by System.Diagnostics.Contracts v4.3.0. Runtime dependencies are installed with the package; dev dependencies are not.
Runtime (1)
Used by
Popular packages that depend on System.Diagnostics.Contracts.
Relationship graph
Dependencies (left) and dependents (right) of System.Diagnostics.Contracts.
Frequently installed together
Provides classes and attributes that allows basic interaction with a debugger. Commonly Used Types: System.Diagnostics.Debug System.Diagnostics.DebuggerStepThroughAttribute System.Diagnostics.Debugger System.Diagnostics.DebuggerDisplayAttribute System.Diagnostics.DebuggerBrowsableAttribute System.Diagnostics.DebuggerBrowsableState System.Diagnostics.DebuggerHiddenAttribute System.Diagnostics.DebuggerNonUserCodeAttribute System.Diagnostics.DebuggerTypeProxyAttribute When using NuGet 3.x this package requires at least version 3.4.
Provides classes and interfaces that supports queries that use Language-Integrated Query (LINQ). Commonly Used Types: System.Linq.Enumerable System.Linq.IGrouping<TKey, TElement> System.Linq.IOrderedEnumerable<TElement> System.Linq.ILookup<TKey, TElement> System.Linq.Lookup<TKey, TElement> When using NuGet 3.x this package requires at least version 3.4.
Provides types that retrieve information about assemblies, modules, members, parameters, and other entities in managed code by examining their metadata. These types also can be used to manipulate instances of loaded types, for example to hook up events or to invoke methods. Commonly Used Types: System.Reflection.MethodInfo System.Reflection.PropertyInfo System.Reflection.ParameterInfo System.Reflection.FieldInfo System.Reflection.ConstructorInfo System.Reflection.Assembly System.Reflection.MemberInfo System.Reflection.EventInfo System.Reflection.Module When using NuGet 3.x this package requires at least version 3.4.
Provides common enumerations for reflection-based libraries. Commonly Used Types: System.Reflection.FieldAttributes System.Reflection.Emit.OpCode System.Reflection.TypeAttributes System.Reflection.MethodAttributes System.Reflection.CallingConventions System.Reflection.PropertyAttributes System.Reflection.EventAttributes System.Reflection.ParameterAttributes System.Reflection.GenericParameterAttributes System.Reflection.MethodImplAttributes When using NuGet 3.x this package requires at least version 3.4.
Provides classes and attributes that allow developers to create, store, and manage various culture-specific resources used in an application. Commonly Used Types: System.Resources.ResourceManager System.Resources.NeutralResourcesLanguageAttribute System.Resources.SatelliteContractVersionAttribute System.Resources.MissingManifestResourceException When using NuGet 3.x this package requires at least version 3.4.
Provides the fundamental primitives, classes and base classes that define commonly-used value and reference data types, events and event handlers, interfaces, attributes, and exceptions. This packages represents the core package, and provides the minimal set of types required to build a managed application. Commonly Used Types: System.Object System.Exception System.Int16 System.Int32 System.Int64 System.Enum System.String System.Char System.Boolean System.SByte System.Byte System.DateTime System.DateTimeOffset System.Single System.Double System.UInt16 System.UInt32 System.UInt64 System.IDisposable System.Uri When using NuGet 3.x this package requires at least version 3.4.
Provides commonly-used classes for performing mathematical functions, conversions, string comparisons and querying environment information. Commonly Used Types: System.Math System.Environment System.Random System.Progress<T> System.Convert System.Diagnostics.Stopwatch System.Runtime.Versioning.FrameworkName System.StringComparer System.IO.Path When using NuGet 3.x this package requires at least version 3.4.
Release history
No releases in the last two years, typically about 42 days apart.
| Version | Published | License |
|---|---|---|
| 4.3.0latest | 9 years ago | — |
| 4.3.0-preview1-24530-04 | 10 years ago | — |
| 4.0.1 | 10 years ago | — |
| 4.0.1-rc2-24027 | 10 years ago | — |
| 4.0.1-beta-23516 | 10 years ago | — |
| 4.0.1-beta-23409 | 11 years ago | — |
| 4.0.1-beta-23225 | 11 years ago | — |
| 4.0.0 | 11 years ago | — |
| 4.0.0-beta-23109 | 11 years ago | — |
| 4.0.0-beta-23019 | 11 years ago | — |
| 4.0.0-beta-22816 | 11 years ago | — |
| 4.0.0-beta-22605 | 11 years ago | — |
| 4.0.0-beta-22416 | 11 years ago | — |
| 4.0.0-beta-22231 | 12 years ago | — |
Overview
System.Diagnostics.Contracts is an NuGet package that provides static classes for representing program contracts such as preconditions, postconditions, and invariants. Commonly Used Types: System.Diagnostics.Contracts.Contract System.Diagnostics.Contracts.ContractClassAttribute System.Diagnostics.Contracts.ContractClassForAttribute System.Diagnostics.Contracts.ContractFailureKind System.Runtime.CompilerServices.ContractHelper System.Diagnostics.Contracts.ContractInvariantMethodAttribute System.Diagnostics.Contracts.PureAttribute System.Diagnostics.Contracts.ContractArgumentValidatorAttribute System.Diagnostics.Contracts.ContractVerificationAttribute System.Diagnostics.Contracts.ContractOptionAttribute When using NuGet 3.x this package requires at least version 3.4. It has 1 known dependents in the graph. The latest version is 4.3.0.
Who should use it
Teams working in the NuGet ecosystem who need provides static classes for representing program contracts such as preconditions, postconditions, and invariants. Commonly Used Types: System.Diagnostics.Contracts.Contract System.Diagnostics.Contracts.ContractClassAttribute System.Diagnostics.Contracts.ContractClassForAttribute System.Diagnostics.Contracts.ContractFailureKind System.Runtime.CompilerServices.ContractHelper System.Diagnostics.Contracts.ContractInvariantMethodAttribute System.Diagnostics.Contracts.PureAttribute System.Diagnostics.Contracts.ContractArgumentValidatorAttribute System.Diagnostics.Contracts.ContractVerificationAttribute System.Diagnostics.Contracts.ContractOptionAttribute When using NuGet 3.x this package requires at least version 3.4 and value a focused solution.
When not to use it
Consider an alternative if you need to or if a more actively-maintained option better fits your NuGet stack.
Pros
- Lean dependency tree (1 direct dependencies).
Cons
- No license detected — review usage terms before adopting.
Auto-generated from collected registry metadata. No external claims are inferred.
Maintainers
Frequently asked questions
Should I use System.Diagnostics.Contracts?
No — System.Diagnostics.Contracts should not be adopted for new projects. Last published 3585 days ago. No license declared — you have no explicit right to use this code.
How do I install System.Diagnostics.Contracts?
Run `dotnet add package System.Diagnostics.Contracts` to add System.Diagnostics.Contracts to your NuGet project.
How many dependencies does System.Diagnostics.Contracts have?
System.Diagnostics.Contracts declares 1 direct dependency and pulls in 3 packages in total once its runtime tree is resolved.
What license is System.Diagnostics.Contracts released under?
No license was detected in System.Diagnostics.Contracts's metadata; review the repository before use.
How popular is System.Diagnostics.Contracts?
NuGet does not publish download counts. Within PackageGraph's crawl, 1 known packages depend on System.Diagnostics.Contracts.
Is System.Diagnostics.Contracts still maintained?
The most recent release of System.Diagnostics.Contracts (v4.3.0) was published 9 years ago.