[Ironpython-users] Changing AssemblyVersion in 2.7.5 Beta 2

Markus Schaber m.schaber at codesys.com
Thu May 22 08:54:50 CEST 2014


Hi, Jeff,

Von: Jeff Hardy [mailto:jdhardy at gmail.com]
> > Let me add some thoughts out of my view (I'm managing the IronPython script
> > interpreter hosted within the CODESYS IDE):
> >
> >> In a world with NuGet, it makes
> >> less and less sense to have it installed in the GAC *at all* except
> >> in rare cases (such as SharePoint or SQL Server that require it).
> >
> > NuGet is not really appropriate for our own build system and workflows
> > (which are established between us and our OEMs since years before
> > NuGet appeared). :-(
> >
> > (OT: Just to prevent questions: Our Home-Grown "Automation Platform"
> > framework predates MEF, MAF, NuGet and several other, now wide-spread
> > technologies by years, and it is not easy to replace them as we need
> > to strongly respect backwards compatibility for our OEMs which modify
> > and adapt our product. :-)
> 
> Don't worry, the zip files won't be going away. I do expect most embedders to
> move to NuGet over time, though.

Until now, I did our custom build using a GIT checkout, so that's no problem either. :-)

> >> In 2.7.5, the version will change to 2.7.5.0. The new installer will
> >> include a publisher policy file in the GAC that binds the new version
> >> to anything trying to load 2.7.0.40 (i.e. 2.7.4 and earlier). This is
> >> actually no different than it would be if the version number stayed
> >> the same, it's just more obvious what is happening.
> >>
> >> The reason for the change comes to anything built against 2.7.5 - it
> >> will no longer accidentally load an older version of IronPython (you
> >> may still get a newer one, if there ever is a 2.7.6; I'm still
> >> sorting out what policy files allow). Had I known about publisher
> >> policy back in 2011 I doubt I would have stuck with the same version the
> whole time.
> >
> > I'm not sure whether those publisher policy is a good thing. We need to
> > make sure that the whole dependency tree (IronPython, IronPython.Modules and
> > the various DLR assemblies) always are guaranteed to match.
> 
> The policy files will only redirect 2.7.0.40 to whatever the latest version
> is. They won't redirect 2.7.5 to 2.7.6.

Unless 2.7.6 comes with a policy file redirecting 2.7.5 to 2.7.6 :-)

> > Another bunch of problems might arise when we run upgraded IronPython
> > libraries against an older standard library - we ship the (Iron)Python
> > standard library in our own directory (currently 2.7.4), and I'm not sure
> > whether there might be problems when those python files run against a newer
> > (2.7.5, 2.7.6?) version of the IronPython interpreter.
> >
> > Is there any way a hosting application can influence the publisher policy
> > programmatically?
> 
> Not programmatically, but I think the binding redirects in the app.config
> file can override the publisher policy.

Ah, that might be a workaround if necessary. (I hope it is not).
 
> Thanks for the input. I knew that your team was impacted by this and forcing
> custom builds is not satisfactory from my point of view.

The new versioning policy will improve a lot of use cases, and it will not hurt ours, so I encourage you to go forward.

Our tests will show whether we can drop our custom builds (my guess is that it will work), but if not, it still is not worse than now. :-)

If Python 3 really comes with unsigned DLLs, this will be easily handled by our recent changes in our framework - providing a nice migration path for our users scripts to will be the bigger challenge.

(Our ideas range from automatically applying 2to3.py to bundling both python versions for some time range, but that's a different story. :-) )


Best regards

Markus Schaber

CODESYS® a trademark of 3S-Smart Software Solutions GmbH

Inspiring Automation Solutions

3S-Smart Software Solutions GmbH
Dipl.-Inf. Markus Schaber | Product Development Core Technology
Memminger Str. 151 | 87439 Kempten | Germany
Tel. +49-831-54031-979 | Fax +49-831-54031-50

E-Mail: m.schaber at codesys.com | Web: http://www.codesys.com | CODESYS store: http://store.codesys.com
CODESYS forum: http://forum.codesys.com

Managing Directors: Dipl.Inf. Dieter Hess, Dipl.Inf. Manfred Werner | Trade register: Kempten HRB 6186 | Tax ID No.: DE 167014915



More information about the Ironpython-users mailing list