I have a phantom / cached .dll that I cannot get rid of in my SP Farm. I'm making updates to Example.dll, which contains an Email Event Receiver that I made changes to. Redeploying to the GAC and restarting the app pool simply doesn't work. The old dll is still running despite my every effort track it down and replace it.

I understand the SP Timer holds a version of this in memory. So after hours of reading I have tried the following (On all servers in the farm):

IISRESET (through cmd and IIS manager) GAC deployment (through drag n drop and gacutil /f) Reset SPTimer (through Services.msc and Powershell) Forcing other unrelated timer jobs to run Using Process Explorer to kill all associated processes Clearing the SP Config cache Looking for C:\Windows\assembly\temp (doesn't exist)

Finally, Rebooting the Servers

The old code STILL RUNS!! What is going on? Where does this old assembly reside? I cannot redeploy the feature as my predecessor may be deleting lists on Feature Deactivation and it contains thousands of lines of code that would be much too risky. Help me please!

  • FYI, redeploying a solution does not call FeatureDeactivating, only FeatureUninstalling.
    – James Love
    Commented Nov 8, 2013 at 23:13

2 Answers 2


Do a search for the assembly on the local file system. It is possible that a copy of your assembly is in one of the BIN folders on the file system.

  • I found it in multiple places including the assembly/temp folder. Deleted all references and it still runs Commented Nov 12, 2013 at 0:20

I had similar issues. In my experience, most often, these problems are associated with exceptions in the custom assembly of the solution. That's where you need to look for the problem.

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.