2010-04-14 8 views
7

Tengo una solución con muchos proyectos. Cada proyecto está configurado para generar el archivo de documentación XML cuando se construye en Debug-Mode (que es el predeterminado). Eso funciona cuando construyo en Visual Studio 2008. En mi script de compilación en mi servidor de integración aconsejo a MSBuild que construya la solución completa, pero no generará los archivos de documentación. ¿Que puedo hacer?¿Cómo obtengo MSBuild Task para generar documentos XML al construir una solución?

Ya traté de dar explícitamente la Condición de depuración al proceso de compilación, pero no hace la diferencia.

<Target Name="BuilSolution"> 
    <MSBuild Projects="C:\Path\To\MySolution.sln" targets="Build" Properties="SolutionConfigurationPlatforms='Debug|Any CPU'"/> 
</Target>  

Parece que hay algunas ideas para resolver este problema en la construcción de proyectos individuales, pero no puede permitirse el lujo de hacer esto, así que necesito una sugerencia para hacerlo de esta manera.

¡Gracias de antemano!

Respuesta

3

Lo hago todo el tiempo con mi servidor CI. Sólo tiene que pasar propiedades como sigue:

Propiedades = "Configuración = depuración; Plataforma = Cualquier CPU"

+0

Gracias por su respuesta, lo intenté. Desafortunadamente no funciona. No generará los archivos de documentación XML. – toba303

+0

Parece que su configuración funciona bastante bien. Tuve algunos errores en la configuración de mi proyecto, por eso no funcionó en primer lugar. ¡Muchas gracias! – toba303

0

conjetura salvaje - la única cosa que puedo ver que podría ayudar es establecer el parámetro GenerateDocumentation en su escritura de la estructura.

citar un poco de MSDN (que las referencias .NET 4, así que no estoy seguro de que esto es aplicable): GenerateDocumentation un parámetro booleano que indica si la documentación se genera por la acumulación. Si es verdadero, la compilación genera información de documentación y la coloca en un archivo .xml junto con el nombre del archivo ejecutable o la biblioteca que creó la tarea de compilación.

4

En VS 2010, puede hacer esto en propiedades de proyecto C#, o puede definir una propiedad DocumentationFile en su archivo .csproj. Por ejemplo:

<PropertyGroup> 
    ... 
    <DocumentationFile>$(OutputPath)MyAssembly.xml</DocumentationFile> 
</PropertyGroup> 

El código de MSBuild en $(MSBuildToolsPath)\Microsoft.CSharp.targets condicionará en esa propiedad que se está definiendo - si lo es, se creará el archivo de comentarios XML.

1

Las propiedades del proyecto son diferentes para cada configuración. En las propiedades de su proyecto, ha habilitado el documento XML solo para la configuración de depuración. Cambie a la configuración de liberación y habilítelo para esa también.

Cuestiones relacionadas