Cuando intenté abrir una solución hoy, Visual Studio 2015 marcó cada proyecto en el explorador de soluciones con Carga fallida . La ventana de resultados de "solución" informó la siguiente excepción, una vez por proyecto:
C: \ Users \ Path \ To \ My \ Project \ Foo.csproj: error: La expresión "[System.IO.Path] :: Combine (" C: \ Users \ My Name \ Documents \ Visual Studio 2010 \ Projects " , obj \ Debug \ Fakes) "no se puede evaluar. Caracteres ilegales en ruta. C: \ Archivos de programa (x86) \ MSBuild \ Microsoft \ VisualStudio \ v14.0 \ Fakes \ Microsoft.QualityTools.Testing.Fakes.targets
Al intentar abrir algunas soluciones más, descubrí que Visual Studio ahora informa estos errores para cualquier proyecto que intente abrir.
Restablecí todas las configuraciones de Visual Studio, que no resolvieron el problema. Microsoft Fakes parece ser un marco burlón para propósitos de prueba (corríjame si me equivoco); Los proyectos no contenían ninguna prueba, ni he accedido a Fakes intencionalmente.
No tengo conocimiento de haber cambiado nada relacionado con Visual Studio o las soluciones en cuestión desde ayer, cuando todo funcionaba. Mi instalación paralela de Visual Studio 2010 todavía funciona bien y puede cargar las soluciones y los proyectos.
Como experimento, edité el archivo mencionado en el mensaje de error, Microsoft.QualityTools.Testing.Fakes.targets , en particular la siguiente línea:
<FakesIntermediatePath>$([System.IO.Path]::Combine('$(ProjectDir)','$(IntermediateOutputPath)Fakes'))</FakesIntermediatePath>
Reemplacé '$(ProjectDir)'
con una cadena constante; esto hace que Visual Studio vuelva a cargar los proyectos, pero como no estoy seguro de cuál es el propósito de este script, no me atrevo a utilizar esta solución alternativa. También esto sugiere que el valor de $(ProjectDir)
podría contener caracteres no válidos, que no pude confirmar. También me pregunto por qué el directorio intermedio de Fakes podría ubicarse directamente en el directorio en el que Visual Studio coloca sus proyectos.