Entity Framework Zombie (a.k.a. Microsoft Entity Framework June 2011 CTP)

Back in June 2011 we released a CTP called “Microsoft Entity Framework June 2011 CTP”. We were excited by all the features (enums, support for spatial types, TVFs, auto-compiled queries etc.) included in this preview and people were excited to try them. Unfortunately shipping a component that is part of .NET Framework outside the .NET Framework turned out to be challenging. This resulted in a number of tricks like the beloved ;) by everyone “Microsoft Entity Framework June 2011 CTP” target or publisher’s policies with binding redirects and the experience was far from perfect (e.g. uninstalling Microsoft Entity Framework June 2011 CTP will break tools as noted in the Readme). Now this release is haunting people. We investigated a number of issues where the root cause of the problem was presence of this CTP on the machine. The issues are popping up out of nowhere and it may be hard to figure out what’s going on. Some of them are – Migrations not working correctly (http://stackoverflow.com/questions/9860097/ef-5-vs-11-error-when-doing-add-migration), MissingMethodExceptions (http://stackoverflow.com/questions/9591929/can-anyone-spot-why-i-keep-getting-this-error-testing-the-ef-5-beta) , Visual Studio 11 Beta crashing (this is actually another flavor of MissingMethodException but you probably won’t even see it without WinDbg). Why this happens? The .NET Framework 4.5 is an in-place update. Microsoft Entity Framework June 2011 CTP installed binding redirect to redirect calls to System.Data.Entity.dll 4.0.0.0 to System.Data.Entity.dll 4.2.0.0. This redirect *will still work* if you install .NET Framework 4.5 (be it Beta, RC or RTM). This is bad as there were quite a few changes we added after the June CTP was shipped and dependencies were taken on these changes (e.g. EF Designer). Once .NET Framework 4.5 Beta shipped there is not any benefit of having the CTP – what’s in CTP is in .NET Framework 4.5 Beta, the CTP does not come with any support (as opposed to .NET Framework 4.5 Beta), the CTP does not have a “go-live” license (as opposed to .NET Framework 4.5 Beta and Entity Framework 5 Beta). Even though I believe Microsoft Entity Framework June 2011 CTP was a very useful release *it’s time to move on and uninstall it*. You can find instructions here: http://blogs.msdn.com/b/adonet/archive/2011/06/30/announcing-the-microsoft-entity-framework-june-2011-ctp.aspx.

Pawel Kadluczka

About these ads

3 thoughts on “Entity Framework Zombie (a.k.a. Microsoft Entity Framework June 2011 CTP)

  1. [...] first showed long awaited support for enum types in the Microsoft Entity Framework June 2011 CTP (which you should not be using) we received a lot of feedback. One of the areas we got lots of comments in were restrictions [...]

    Like

  2. The best way to fix that is deleting this folder from GAC:

    Windows\Microsoft.NET\assembly\GAC_MSIL\policy.4.0.system.data.entity\

    Like

    • moozzyk says:

      if you do just this then you will break VS since the CTP designer will try to call into methods that no longer exist since they existed only in the Beta System.Data.Entity.dll. I don’t remember if there was only one redirect or more… Fortunately we no longer are seeing issues caused by the CTP – apparently people moved to VS2012 (or even VS2013).

      Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 201 other followers

%d bloggers like this: