He estado estudiando MSBuild ya que tengo la necesidad de automatizar las compilaciones de mi tienda de desarrollo. Pude escribir fácilmente un archivo .BAT que invoca el símbolo del sistema de VS y le paso mis comandos de MSBuild. Esto funciona bastante bien y es bastante ingenioso.MSBuild - Cómo crear un archivo de solución .NET (en un script de tarea XML) a partir de los comandos de línea de comandos pre-escritos
Aquí es el contenido de mi archivo de generación .BAT:
call "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64\vcvars64.bat"
cd C:\Sandbox\Solution
msbuild MyTopSecretApplication.sln /p:OutputPath=c:\TESTMSBUILDOUTPUT /p:Configuration=Release,Platform=x86
pause
^Esto funciona bien, pero ahora tengo la necesidad de utilizar la tarea de MSBuild para TeamCity CI. Intenté escribir algunas secuencias de comandos de MSBuild pero no puedo hacer que funcionen de la misma manera. ¿Cuál es el script de construcción equivalente al comando que estoy usando en mi archivo .BAT? ¿Algunas ideas?
He intentado usar algo como esto, pero sin éxito (sé que esto es un error):
<?xml version="1.0"?>
<project name="Hello Build World" default="run" basedir=".">
<target name="build">
<mkdir dir="mybin" />
<echo>Made mybin directory!</echo>
<csc target="exe" output="c:\TESTMSBUILDOUTPUT">
<sources>
<include name="MyTopSecretApplication.sln"/>
</sources>
</csc>
<echo>MyTopSecretApplication.exe was built!</echo>
</target>
<target name="clean">
<delete dir="mybin" failonerror="false"/>
</target>
<target name="run" depends="build">
<exec program="mybin\MyTopSecretApplication.exe"/>
</target>
Lo que simplemente necesita es una escritura de la estructura XML MSBuild que compila una única solución para el modo de lanzamiento a un directorio de salida especificado. ¿Alguna ayuda?
Un millón de gracias. Ahora si tengo un proyecto en "MySecretApplication.sln" que quiero excluir, ¿cómo puedo hacer eso? Intenté esto pero no está funcionando ... ¿alguna idea? –
D3vtr0n
Debería configurar una configuración de compilación en su solución (haga clic con el botón derecho en el nodo de solución y elija Configuration Manager en Visual Studio). Puede crear una nueva configuración, darle un nombre y seleccionar qué proyectos construir. Esto se almacena en el archivo de solución.En el archivo MSBuild en la respuesta, pase el nuevo nombre de Configuración. Es posible que actualmente tenga una configuración de depuración y liberación que son los nombres estándar. –
Gracias, eso fue perfecto. – D3vtr0n