public static Version Normalize(this Version version)
{
if (version == null)
return null;
if (version.Build >= 0 && version.Revision >= 0)
return version;
return new Version(
version.Major,
version.Minor,
Math.Max(version.Build, 0),
Math.Max(version.Revision, 0));
}