I am using a feature (with feature receiver) to create some lists by code on "my site". The feature is site scoped and is activated by a farm scoped feature (using feature stapling) when a new my site is created.

So far, so good, but... When I edit the code in the feature receiver to add some more functionality, and upgrade the .wsp which holds the feature, the upgrade does not seem to work.

The feature is activated automatically when a new my site is created, but executes the old code. If I deactivate the feature and then activate the feature manually then the new code is executed.

I am having problems understanding this behavior. Any similar experience? Any ideas how to fix this ?

  • 2
    That is expected and in line with all the features I had created, the enabled feature needs deactivated and activated to pick up the change. Feb 12, 2015 at 17:55
  • Yeah, but my problem is that it happens on newly created "my sites" also (which are newly created site collections). I understand that a re-activation is needed on existing site collection where the feature is already activated, but not why it is not activating with new code on newly created site collections that are created after the .wsp-update.
    – Ilyas
    Feb 12, 2015 at 17:58
  • 2
    have you recycled iis and the v4 timer service? Feb 12, 2015 at 18:02
  • Yes, I have even restarted the server, retracted the solution and re-deployed it.
    – Ilyas
    Feb 12, 2015 at 18:03
  • The recycling of timer service did the trick. Thanks a lot. I was impatient in my earlier tries.
    – Ilyas
    Feb 16, 2015 at 21:37

2 Answers 2


We had the same problem couple of months ago, after digging too much we open a MSFT case. Here how we solve it.

  • After updating the wsp, we check if new dll deployed.
  • We also check if updated DLL loaded
  • Recycle the SharePoint timer services on all servers.
  • We use the decompiler tool to find which assembly loaded.

In our case, even after updating( many time retracting and re deploying) still old DLL loading. so once we recycle the timer services new DLL loaded.

  • 1
    Thanks!! :). This solved my problem. It is the same approach PirateEric suggested. I thought I had tried it properly, but I hadn't. When I tried again more patiently, it worked.
    – Ilyas
    Feb 16, 2015 at 14:05

In most common cases you forgot to close the current powershell. This holds the old assembly in the memory. After adding and installing your feature, you MUST close the powershell. Reopen it and execute your activation. Now you het your right assembly used.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.