visual-studio-2008 - tag - visual studio code path intellisense
Evento de preconstrucción en Visual Studio reemplazando $(SolutionDir) con*No definido* (2)
Creo que el problema está documentado aquí y parece que podría ser un error en Visual Studio, pero me pregunto si alguien sabe de una solución alternativa.
Básicamente tengo las siguientes 2 líneas (entre otras cosas) una después de la otra en el evento de preconstrucción.
"C:/WINDOWS/Microsoft.NET/Framework/v3.5/MSBuild.exe" /p:configuration=Release;platform=x86 /t:rebuild "$(SolutionDir)Folder1/Project1.csproj"
"C:/WINDOWS/Microsoft.NET/Framework/v3.5/MSBuild.exe" /p:configuration=Release;platform=x86 /t:rebuild "$(SolutionDir)Folder2/Folder3/Project2.csproj"
El primero tiene éxito y el otro falla al decir que "El comando" "C: / WINDOWS / Microsoft.NET / Framework / v3.5 / MSBuild.exe" / p: configuration = Release; platform = x86 / t: rebuild "* Indefinido * Folder2 / Folder3 / Project2.csproj "" salió con el código 1.
(Espacio insertado entre la causa astringente del formateo SO)
Editar: Descubrí que el problema era que uno de los otros proyectos con la misma línea que su preconstrucción había fallado, ya que MSBuild no tiene conocimiento de las macros.
No especifica si esto sucede en muchos proyectos o solo uno o dos.
Si solo está en uno o dos proyectos, una solución temporal podría ser reemplazar $ (SolutionDir) con la ruta explícita en la que se encuentra Folder2. Por ejemplo, algo como:
"C:/WINDOWS/Microsoft.NET/Framework/v3.5/MSBuild.exe" /p:configuration=Release;platform=x86 /t:rebuild "C:/AllSolutions/ExampleSolutions/Folder2/Folder3/Project2.csproj"
pero con la ruta correcta para su proyecto.
Lo arreglé reemplazando todos $(SolutionDir)
con $(ProjectDir)../.
.
Se debió a que MSBuild ejecutaba cada proyecto de forma independiente y no a la Solución. Funcionó bien en VS2010, pero no en el servidor de compilación.