Estoy usando MSBuild a partir de una secuencia de comandos para compilar mi proyecto. Me he dado cuenta de que sólo lo hace en una construcción y no una limpieza y reconstrucción.

Tengo lo siguiente:

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Build" ToolsVersion="4.0">
<Target Name="Build">
    <MSBuild Projects="$(MSBuildProjectDirectory)\myproj.csproj" Targets="Build" Properties="OutputPath=$(MSBuildProjectDirectory)\..\bin\" />
 </Target>

¿Cómo puedo forzar una limpia/rebuild?

  • Qué archivo es este?
InformationsquelleAutor John | 2012-09-19

3 Comentarios

  1. 32

    Cambio

    <MSBuild Projects="$(MSBuildProjectDirectory)\myproj.csproj"
      Targets="Build"
      Properties="OutputPath=$(MSBuildProjectDirectory)\..\bin\" />

    a

    <MSBuild Projects="$(MSBuildProjectDirectory)\myproj.csproj"
      Targets="Clean;Build"
      Properties="OutputPath=$(MSBuildProjectDirectory)\..\bin\" />

    o

    <MSBuild Projects="$(MSBuildProjectDirectory)\myproj.csproj" Targets="Rebuild"
      Properties="OutputPath=$(MSBuildProjectDirectory)\..\bin\" />

    Para obtener más detalles, vea en el MSBuild la documentación de las Tareas.

    • Parece evidente al ver la respuesta. Debe prob tiene que uno. Gracias por la respuesta
    • ¿Qué piensas de la nueva csproj?
  2. 24

    «%windir%\Microsoft.NET\Framework\v4.0.30319\MSBuild» Del Proyecto.sln
    /p:Configuración=Release /t:Reconstruir

    • En la pregunta, msbuild se utiliza en un archivo de proyecto. No directamente en el símbolo del sistema.
    • En la pregunta «estoy usando msbuild a partir de una secuencia de comandos para compilar mi proyecto» a partir de un guión mejor usar el símbolo del sistema
    • Si o no contesta a la pregunta original, el fragmento de código que me ayudó a llegar a donde necesitaba ir.. gracias!
  3. 1

    Trata siempre de usar

    <MSBuild Projects="$(MSBuildProjectDirectory)\myproj.csproj"
      Targets="Clean;Build"
      Properties="OutputPath=$(MSBuildProjectDirectory)\..\bin\" />

    Porque de acuerdo a este artículo de MSDN, cuando se tienen varios proyectos en su solución el uso de «Reconstruir» como el objetivo, puede provocar a limpiar y construir a suceder de manera paralela. Que puede causar problemas en las dependencias del proyecto.

    Pero cuando se utiliza «Limpiar y Construir» como el objetivo, construir comenzará sólo después de que todos los proyectos se limpian.

Dejar respuesta

Please enter your comment!
Please enter your name here