1.9.3 targets Framework 4.5

Aug 19, 2015 at 5:30 AM
I just updated an app NuGet reference from v1.9.2 to v1.9.3 and compilation errors told me that my Framework 4.0 app could not use v1.9.3 because it's built against Framework 4.5. I had to force a return to v1.9.2.

Is this by design or by accident? It's a significant change and I can't find any mention of it in the history or version pages.

Greg
Developer
Aug 20, 2015 at 2:51 AM
Sorry about that Greg. Another person on the team added some 4.5-specific constructs, so I upped the framework to 4.5. And I forgot to change the nuspec. I'll fix the NuGet package to be accurate, but it may be harder to go back to 4.0.

In all seriousness, why is 4.0 support important to you? I admit that I am insulated by working on a product where somebody else makes the framework-version decision. I'd appreciate the insight. Is it that 4.0 has a larger install base? XP support? Something else?

-martin
Aug 21, 2015 at 10:02 PM
I find that Framework 4.0 is still pretty widespread for a few reasons. One group I work with have to target Server 2003 machines, another are still on Visual Studio 2012 and others will have to upgrade target machines with the 4.5 runtime. There aren't even any practical features of 4.5 that make it a really tempting upgrade for server or desktop apps, except for the lovely async/await language support (but that's just a lucky side effect).

I personally try to keep shared general purpose libraries at a Framework level which is the lowest common denominator of all the apps that consume them. For many years that was 2.0 and for the last 4 or more years it has been 4.0 (which was quickly adopted). Since the ESENT Managed Interface library is a popular and quite general purpose library, I highly recommend you have the lowest possible Framework dependency so that more apps can consume it without any worry. I know it might be hard to go backwards now.

Cheers, Greg
Developer
Aug 21, 2015 at 10:07 PM
Thanks for the background information. The biggest reason I had to go to 4.5 is that the Core CLR moved some methods to different types (e.g. Type.IsEnum vs. Type.GetTypeInfo().IsEnum).

It was actually trivial; just two lines. Now the harder part: pushing out a new release. :)

(Whether to do just this, or also add the bugs that have been fixed in the past couple of weeks too... :)


-martin
Aug 28, 2015 at 9:58 AM
One more reason to stay with .NET 4.0 is the compatibility with "Windows Embedded POSReady 2009". This OS is almost identical to XP and is under support until 2019.
It has no support for 4.5, 4.0 is the highest .NET version supported by Microsoft.

Kind regards, Peter
Developer
Aug 31, 2015 at 5:51 PM
Thanks Greg and Peter. I'll try to keep XP/2003 support for as long as possible. I won't try to 'simplify' the code unless it becomes too big of a burden.

-martin
Developer
Sep 3, 2015 at 5:19 PM
I just uploaded 1.9.3.2, which targets 4.0.

-martin