When I tried to open a solution today, Visual Studio 2015 marked each project in the solution explorer with load failed. The "solution" output window reported the following exception, once per project:
C:\Users\Path\To\My\Project\Foo.csproj : error : The expression "[System.IO.Path]::Combine("C:\Users\My Name\Documents\Visual Studio 2010\Projects", obj\Debug\Fakes)" cannot be evaluated. Illegal characters in path. C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\Fakes\Microsoft.QualityTools.Testing.Fakes.targets
Trying to open a few more solutions I found out that Visual Studio now reports these errors for any project it tries to open.
I reset all Visual Studio settings, which didn't solve the issue. Microsoft Fakes seems to be a mocking framework for testing purposes (correct me if I'm wrong); the projects didn't contain any tests, nor have I accessed Fakes intentionally.
I am not aware of having changed anything related to Visual Studio or the solutions in question since yesterday, when everything still worked. My parallel installation of Visual Studio 2010 still works fine and can load the solutions and projects.
As an experiment, I edited the file mentioned in the error message, Microsoft.QualityTools.Testing.Fakes.targets, particularly the following line:
'$(ProjectDir)' with a constant string; this makes Visual Studio load the projects again, but since I'm not sure what the purpose of this script is, I'm hesitant to use this workaround. Also this suggests that the value of
$(ProjectDir) might contain invalid characters, which I couldn't confirm. I'm also wondering why the Fakes intermediate directory might be placed directly in the directory in which Visual Studio places its projects.