CA1016: Mark assemblies with AssemblyVersionAttribute

 

For the latest documentation on Visual Studio 2017 RC, see Visual Studio 2017 RC Documentation.

TypeNameMarkAssembliesWithAssemblyVersion
CheckIdCA1016
CategoryMicrosoft.Design
Breaking ChangeNon-breaking

The assembly does not have a version number.

The identity of an assembly is composed of the following information:

  • Assembly name

  • Version number

  • Culture

  • Public key (for strongly named assemblies).

The .NET Framework uses the version number to uniquely identify an assembly, and to bind to types in strongly named assemblies. The version number is used together with version and publisher policy. By default, applications run only with the assembly version with which they were built.

To fix a violation of this rule, add a version number to the assembly by using the System.Reflection.AssemblyVersionAttribute attribute. See the following example.

Do not suppress a warning from this rule for assemblies that are used by third parties, or in a production environment.

The following example shows an assembly that has the AssemblyVersionAttribute attribute applied.

using System;
using System.Reflection;

[assembly: AssemblyVersionAttribute("4.3.2.1")]
namespace DesignLibrary {}

Assembly Versioning
How to: Create a Publisher Policy

Show: