Saltar al contenido

Cambiar el directorio de trabajo de msbuild.exe

Solución:

Me encontré con esto mientras buscaba una solución a mi problema. Aquí está mi solución (compilar script):

<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <Target Name="Default">
    <Exec Command="build.bat" WorkingDirectory="..[your dir]" />
  </Target>
</Project>

Creo que eso es más lo que estabas buscando originalmente.

Mi problema fue que mi archivo por lotes llamó a otro que esperaba que estuviera en el mismo directorio, pero dado que mi script de compilación de ms se estaba ejecutando en otro lugar, el archivo por lotes no pudo encontrar el segundo archivo por lotes.

@jkohlhepp – Ya veo. Está haciendo lo contrario de lo que describí en mi comentario hasta cierto punto.

Los destinos comunes de MSBuild usan MSBuildProjectDirectory para determinar la carpeta de salida a menos que la anule. Entonces, en tu caso, podrías correr

msbuild.exe \my_serverc$MyPatToScriptsTestScript.msbuild /p:OutDir=c:temp 

para forzar que la salida se deje caer en esa ubicación.

EDITAR:
Dado el archivo de proyecto anterior, necesitaría editarlo para hacer algo como lo siguiente para que esto funcione:

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <OutDir Condition=" '$(OutDir)' == '' ">bindebug</OutDir>
  </PropertyGroup>
  <ItemGroup>  
    <!-- Without prefacing files with paths, they are assumed relative to the proj file -->
    <FilesToCreate Include="$(OutDir)HelloWorld.txt" />  
  </ItemGroup>  
  <Target Name="TouchFiles">  
     <Touch Files="@(FilesToCreate)" AlwaysCreate="True" />  
  </Target>  
</Project>  
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *