I was able to solve this issue before by running repair on VS2013. But now I just updated Unity to the latest version and the problem came back - and this time even running the repair does not fix the issue!
Clearly something is wrong in Unity because updating it brought the issue back. I think you guys should not take the easy path and say “this is not our concern”, instead you should collaborate with Microsoft to solve the issue!
I have Visual Studio 2013 installed, and after installing SQL Server 2014 with Tools, Unity had problems with starting VS2013 as shell for project editing with infamous “Invalid license data. Reinstall is required.” popup
After getting frustrated Nth time, and hours spent on internet in search for answers, and finally getting it traced with friendly Process Monitor it came up to this:
Unity (or something inside it, I don’t know, may be some COM object), when it attempts to start a handler for the Visual Studio, traces all the versions of VS from lower versions up in registry keys HKCR\VisualStudio.DTE.xx.0 in order to figure out what handler to run. I went to my registry and just disabled VisualStudio.DTE.10.0 entry by renaming it to “VisualStudio.DTE.10.0 disabled” and everything magically works now.
(vs2010 was not a full version of Visual studio anyway in my case - it came with SQL Server 2014 as Management Console replacement and screwing things ever since it got installed.)
http://unityvs.com/UnityVs Will Fix this problem.
It’s free and vary useful.
after installing You can Debug scripts in visual studio Tools.
It’s vary Useful.
after Installing, restarting Visual studio and unity, and then from unity menu and Visual studio tools section ( new added) selet generate project file . and then open in visual studio
The solution that worked for me is HERE. Unity is looking at a registry key (found in the windows registry) to initiate VS. In my case, an install of 2012 SQL Server management studio overwrote this key and in turn messed up the VS-Unity integration.