[IronPython] IronPython 1.0.1 Released!
David Fraser
davidf at sjsoft.com
Tue Oct 10 21:17:46 CEST 2006
Martin Maly wrote:
> There is a way to tell the difference, but first let me provide a little background ...
>
> IronPython is released as signed binaries, and in order to maintain binary compatibility (for example for the customer who writes an application that relies on particular version of IronPython binaries, but then wants to simply replace IronPython 1.0 binaries with 1.0.1 binaries without having to recompile his application) the assembly version is identical with the assembly version of the 1.0 release. However, we added some more assembly-level attributes which can be used to tell the difference between versions. They are AssemblyInformationVersionAttribute and AssemblyFileVersionAttribute. Note that they are not present on the 1.0 assemblies.
>
> Unfortunately, due to a omission/bug, one of them (AssemblyInformationVersionAttribute) still reads "1.0" on the 1.0.1 assemblies, but the other (AssemblyFileVersionAttribute) changes with each build of IronPython and its version for 1.0.1 release is:
>
> 1.0.61005.1977
>
> Now, how can I find out which version I am running?
>
> import System
> a = [].GetType().Assembly.GetCustomAttributes(System.Reflection.AssemblyFileVersionAttribute, False)
> if len(a) > 0:
> if a[0].Version == "1.0.61005.1977": print "IronPython 1.0.1"
> else: print "Unknown version"
> else:
> print "IronPython 1.0"
>
> Hope this helps and sorry for the confusion with AssemblyInformationVersionAttribute. It'll be fixed in the next release.
>
What about sys.version? Surely this doesn't have to depend on the
assembly version, in which case it could return values as suggested
earlier in the thread...
David
More information about the Ironpython-users
mailing list