I recently upgraded a substantial website from DNN 4.9.4 to 7.1.2 taking the recommended steps along the way. Everything went well enough up through DNN 6.2.9. Then I made the jump to 7.1.2. The website started fine and the user-facing pages worked fine. However, when I tried to access Admin > Site Settings or Host > Host Settings, I would get the same:
System.NullReferenceException: Object reference not set to an instance of an object. at DotNetNuke.UI.Containers.ActionButtonList.get_ModuleActions()
error and exception described in the original post.
I too found that putting "nunit.framework.dll" (from nunit.org) in the "bin" folder of the DNN installation solved the problem.
Next, I tried to find which module was referencing nunit. "Dependency Walker" (depends.exe) was not helpful. Then I tried an oldie but goody DOS command in the "bin" folder of the installation:
find "nunit" *.dll
This reported that "gcheckout.dll" contained the string "nunit"!
Doing a:
find "gcheckout" *.dll
came up empty. So I don't know which, if any, module uses or references "gcheckout.dll".
Does anyone know which module or product installed "gcheckout.dll"? It could be the now-unavailable "Active Purchase" from "Active Modules", but I'm not sure.
Finally, I deleted (well, actually moved elsewhere "just in case") "nunit.framework.dll" and "gcheckout.dll" and the site is still working fine. So in the end, deleting "gcheckout.dll" was my solution.