Can you provide the error? Without an error, there is no way we can help. You mention the error says “can’t enable .NET framework 3.5”, but there must be more to the error? What point in installation does the issue occur? Are you on a Mac or PC?
Error message suggests that it will continue Unity installation and it just isn’t able to install/enable .NET 3.5. At least with Windows 10 there is no downloadable executable but it is installed/enabled as Windows feature. By following my earlier post you can make sure that .NET 3.5 is installed and enabled and Unity should run fine. You might need to reboot your computer after .NET installation.
Can you try my solution and see if Unity will run after that?
Chipp, perhaps you can try selecting the project in the visual studio solution explorer, and open the Project Settings GUI. Then, see if you can switch to .Net 3.5 there.
If you cannot, there may be an issue that requires reinstalling 3.5. If so, try to open Unity and see if it makes a difference. Granted, Unity editor assumes .net 3.5 and NOT subset. However, if you choose .Net 2.0 subset in the Unity player settings, it will use a subset in your game file, even though it always uses the full set in the editor.
I have the same problem and I am still unable to resolve it. I have Windows 10 with Unity 5.5.1f (installed three days ago) and I am using MonoDevelop. I have tried all the suggestions I’ve found online and none have resolved the issue so far. Specifically, I’ve tried the following:
–deleting all *.csproj, *.unityproj, and *.sln files from the root folder of my project and re-opening a C# script in MonoDevelop.
–switching the “Target framework” setting for my project (under Project Options → Assembly-CSharp → Build → General) from “Mono / .NET 3.5” to “4.0”, “4.5”, “4.6”, and “.NET 3.5 Client Profile”. The default setting is always “Mono / .NET 3.5” every time I re-open MonoDevelop though.
-enabling .NET Framework 3.5 through the “Turn Windows features on or off” menu. Interestingly, even though 3.5 seems enabled in that menu, when I go to the list of programs, there is no listing for 3.5 there, just 4.5 and 4.6 (with installation date of three days ago, i.e. when I upgraded to Unity 5.5.1f):
If I build my project in MonoDevelop, I get the following error:
“…\Assembly-UnityScript-firstpass.csproj: Error MSB4025: The project file could not be loaded. Could not find file ‘…\Assembly-UnityScript-firstpass.csproj’. (MSB4025) (Assembly-UnityScript-firstpass)”
Here are the project files I have in my root folder. It does look like the file it’s looking for is missing, there is “Assembly-UnityScript-firstpass.unityproj” instead. Where do I get the file it’s looking for from?
Update: first a clarification, in addition to my description above, another symptom of the issue is that in all of my C# scripts I get the following errors:
“Error CS0103: ‘UnityEngine’ does not exist in the current context”
“Error CS0103: The name ‘MonoBehaviour’ does not exist in the current context”
After playing around with this for a while, I’ve found the following workaround: if I change the extension of the file Assembly-UnityScript-firstpass.unityproj to *.csproj and after doing that I re-open MonoDevelop, all the errors above disappear. However, if I restart Unity and then open a C# script in MonoDevelop, the *.unityproj file above is recreated and I start getting all the same errors again. If I then delete that file and re-start MonoDevelop, the errors go away, even though I get a warning that the *.unityproj file cannot be found:
Reinstalling .NET 3.5 should help in most cases, but for some there seems to be some background softwares running (such as antivirus and firewalls) that are causing the issues, so for those cases you can try launching Unity from the command line by using the -force-d3d9 argument.
The 2nd option worked, launching from command line using -force-d3d9.
The thing is, I was building for WIndows Store, and at the end of the build when .net files were being created, Unity froze (usually builds took seconds, this one had 30 minutes already and the only thing I changed in code was a Debu.Log line, so code was not the problem). Then I had to end the task in the Task Manager…