Assembly version management is essential to supporting bug fixes and feature upgrades. In an attempt to reduce the impact of "DLL Hell" Microsoft introduced a number of versioning policies for .NET that create their own unique set of difficulties. This article describes how XHEO manages these issues and how version numbers are assigned to XHEO products. 

Versioning Policy

All products released by XHEO will use this stated version policy.  This includes two identifiable versions per assembly; the assembly version and the file version. The assembly version will remain static for each major.minor version of the product. The file version will be changed on each release.

Assembly Version Major.Minor.Framework.0
File Version Major.Minor.Framework.Release
Major The major release number. Incremented when extensive new features or breaking changes are added.
Minor The minor release number. Incremented when minor changes are added and existing features are improved.
Framework Always refers to the target .NET Framework version. 3300 for .NET 1.0, 5000 for .NET 1.1.
Release 0 for the assembly version. The file version is incremented each time the assembly is released.
3.2.2000.4 Version 3.2 of the product, compiled against .NET Framework version 2.0, 4th release of the file.
1.2.3300.0 Version 1.2 of the product, compiled against .NET Framework version 1.0, initial release of the file.

Assembly Title Conventions

When assigning titles to our assemblies we use the following format

Title [Product Version] For .NET [Version]
Title The product or component title such ash XHEO|Licensing or XHEO|WebSkin.
Product Version The major & minor version of the product such as 2.0.
.NET Version The version of the .NET Framework the assembly was compiled against.
XHEO|Licensing 2.0 For .NET 1.1 The assembly represents XHEO|Licensing 2.0 compiled for use against .NET 1.1.
XHEO Base Library 1.2 For .NET 1.0 The assembly represents the XHEO Base Library 1.2 compiled for use against .NET 1.0.

Assembly File Name Conventions

Shared components will contain the version number in the file name. Due to the extensive use of our products by many developers, version conflicts have arrisen due to multiple components sharing our package installed to the same ASP.NET site. Publisher policy files work well in an environment where the developer has full controll of the deployment, but in a hosted environment policy files are often unusable since the developer does not have access to the GAC. By adding the version number to the file name developers will be able to install different versions of the product side by side with other vendors without concern over version incompatibilities.

AssemblyName The normal assembly name such as Xheo.Licensing or Xheo.Enterprise.
Major The major release version of the assembly.
DeployLX.Licensing.v3.dll The assembly for DeployLX Licensing 3.x.
Xheo.Enterprise.v1.dll The assembly for XHEO|Enterprise 1.x.

Framework Compatibility Graphics

As Microsoft releases new versions of the .NET Framework and Visual Studio .NET compatibility issues are bound to arise. The .NET Framework version 1.1 introduced a number of breaking changes, and additional features not included in version 1.0. Version 2.0 continued to improve on .NET 1.1. When new versions are released XHEO will generally start to use the newly available features, however to maintain backwards compatibility we will release versions of our runtimes compiled against the most recent 2 framework versions. Framework compatibility can quickly be identified by the following image.

1. Support Indicator shows if support is provided, required or unavailable for the associated version.

2. Version Medallion show which version of the framework the support is provided for. The medallion also quickly identfies support by the color. Blue indicates support, red indicates a minimum requirement, and grey indicates a lack of support.

The application/component is compiled directly against the .NET Framework 1.0 or can be used without change or application configuration. Can be used with later versions, but may require application configuration.
The application/component requires at least version 1.1 of the .NET Framework. Support for later versions may be available and will likely require application configuration.
.NET Framework version 2.0 is not supported even with application configuration.

Use of the FCGs on Your Site

XHEO invites you to use these graphics on your websites, product installs, documentation or anywhere else they may be useful. While the images contain logos copywritten by Microsoft, the portions copywritten by XHEO are officially placed into the public domain. If you do decide to use the images we would appreciate a link back to this page to help build awareness in the .NET development community at large.

We have packaged up the images with multiple sized GIFs, PhotoShop files and the original Illustrator files.

Download Framework Compatibility Graphics

Published : Feb 11, 2009
Updated : Jan 04, 2012
Views : 5047
  • deploylx

Applies To