Unity crashing on startup

Unity version 3.5.1f2 crashes on startup no matter what project I open. According to the logs it seems to be crashing while loading mono assemblies. Since it crashes on every single project I try I think it has something to do Unity’s state on my computer and not an individual project, but I could be wrong.

Here is the stack trace in the error log:

(0x060C7A7A) c:\buildagent\work\25428dc32c36e71d\mono\mini\aot-runtime.c (1380): mono_aot_get_class_from_name
(0x0604DA2F) c:\buildagent\work\25428dc32c36e71d\mono\metadata\class.c (6591): mono_class_from_name
(0x006EBEE4) c:\buildagent\work\b0bcff80449a48aa\runtime\mono\monomanager.cpp (846): MonoManager::LoadAssemblies
(0x006EDB5A) c:\buildagent\work\b0bcff80449a48aa\runtime\mono\monomanager.cpp (1000): MonoManager::ReloadAssembly
(0x0089F4C8) c:\buildagent\work\b0bcff80449a48aa\editor\src\assetpipeline\monocompilationpipeline.cpp (1290): LoadMonoAssembliesOrRecompile
(0x00B92A1C) c:\buildagent\work\b0bcff80449a48aa\editor\src\application.cpp (526): Application::InitializeProject
(0x00C01099) c:\buildagent\work\b0bcff80449a48aa\editor\platform\windows\wineditormain.cpp (701): WinMain
(0x0718C741) ((module-name not available)): (filename not available): (function-name not available)
(0x01AE55D2) (Unity): (filename not available): g_auedo

Will try reinstalling.

After running into this crash myself. Make sure you do not have multiple copies of the same DLL in your project. If you do, remove the duplicate DLLs and then delete your library folder to allow unity to reforges its links.

This is how I fixed it on my project.