THIS QUESTION WAS CLOSED BEFORE, BUT IT IS EXPRESSLY AN ISSUE WITH UNITY3D
The Problem : Unity3d can not open visual studio if SQL manger is installed.
How to replicate :
Install Visual Studio 2012
Install Unity3d
Set Visual Studio as the default editor in unity.
Open a .CS file from unity, it should work fine
Install SQL Management Studio 2012
Now open, it should not work. Will receive Shell 2010 error.
I would love a workaround in for this issue. I would love a fix from unity for this issue. Please help.
Yeah, I closed it. I'll leave this one open, but will be intrigued to see how this is a Unity problem. Looks to me like SQL MS2012 make some change that causes the problem. Will leave the community to help you.
And google gives a gazillion results when I search for the error message in your title, so seems like some MS registry corruption judging by the hits I looked at.
1. Unity seems to be creating project files pointing to VS 10 /2008. It should be creating project files pointing to VS 12 / 2012. 2. I am not getting the error message but for Unity3d. The fixes not do not work and are out of context. 3. Thanks
Did you even find an answer to how to get it opening in 2012 again? I agree that it's a Unity issue. If you open from explorer, it should open in VS2012 for you, but when attempting to open the file from the Unity IDE, it appears that regardless of which app you tell it to open in, it will always open in 2010. This is even when browsing to the 2012 devenv executable.
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.)
I can confirm that this issue has indeed come back with Unity 4.5.2f1 (and perhaps earlier versions too). Fortunately the fix suggested by tandr works perfectly. Thanks tandr. Great job! It is quite common for 'Visual Studio 2010 shell' to exist on users' PCs alongside 'Visual Studio 2013', as it is installed with other Microsoft programs, such as SQL Server.
This is the right answer. Thank you very much, I have gone through dozen of solutions (including trying to reinstall VS, Unity and a bunch of third party utilities). I only with I'd found this thread and this answer some 4 hours ago...
Same scenario... VS2013 w/ SQL14 would try to open up VS2010 with an invalid license error even though I browsed / specified VS2013 in the editor settings. Renaming this reg key worked and doesn't seem to break SSMS. Thanks for posting this, helped greatly.
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.
Yeah, I closed it. I'll leave this one open, but will be intrigued to see how this is a Unity problem. Looks to me like SQL MS2012 make some change that causes the problem. Will leave the community to help you.
– Graham-DunnettAnd google gives a gazillion results when I search for the error message in your title, so seems like some MS registry corruption judging by the hits I looked at.
– Graham-Dunnett1. Unity seems to be creating project files pointing to VS 10 /2008. It should be creating project files pointing to VS 12 / 2012. 2. I am not getting the error message but for Unity3d. The fixes not do not work and are out of context. 3. Thanks
– nventimigliaUpdate. I got the error to go away by installing Visual Studio 2010. Now The problem is Unity3d opens VS 2010... and not 2012
– nventimigliaDid you even find an answer to how to get it opening in 2012 again? I agree that it's a Unity issue. If you open from explorer, it should open in VS2012 for you, but when attempting to open the file from the Unity IDE, it appears that regardless of which app you tell it to open in, it will always open in 2010. This is even when browsing to the 2012 devenv executable.
– coward