2010-08-06 10 views
8

En Visual Studio 2010 tenemos en 'herramientas | opciones | proyectos y soluciones | compilar y ejecutar' (no se pudo encontrar una imagen correcta en Internet) dos opciones para el registro de MSBuild:VS2010: salida de inicio de sesión de creación mínima e inicio de sesión detallado archivo de registro

'proyecto MSBuild salida de verbosidad' y 'proyecto MSBuild registro verbosidad'.

así que estaba esperando a ser capaz de obtener un mínimo de registro construcción en la vista de salida dentro de Studio devenv Visual (correcto), mientras que al mismo tiempo un registro detallado acumulación en algún archivo de registro.

No encuentro una forma de configurar un archivo de registro de compilación para que aparezca.

Nota: No quiero configurar mi propia MSBuild.

Respuesta

15

archivo de registro de Visual Studio sólo se admite para proyectos de C++. Solo tienes que trabajar con la ventana de resultados para otros.

+6

Esto debería ser mucho más obvio. – WaffleSouffle

10

http://msdn.microsoft.com/en-us/library/b0bktkzs.aspx dice:

Examine el registro de generación en el directorio de archivos intermedia para ver lo que realmente ejecutado. La ruta y el nombre del registro de compilación están representados por la expresión de macro MSBuild, $ (IntDir) \ $ (MSBuildProjectName) .log.

[Y la manera más fácil de conseguir que hay que hacer proyectos | Mostrar todos los archivos, y luego ir a la derecha Explorador de soluciones y haga clic para abrir la carpeta en el Explorador de Windows]

EDIT: Para apaciguar nuestra -1er descontentos ... Obviamente, podría inferir de esto que podría agregar un <Execute Command="notepad.exe $(IntDir)\$(MSBuildProjectName).log"/> o similar si necesita aparecer literalmente, pero eso no tiene sentido para mí.

EDIT 2: EJEMPLO. Editar el archivo .csproj, y en la sección con

<!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
    Other similar extension points exist, see Microsoft.Common.targets. 

->

Cambiar a:

<Target Name="AfterBuild"> 
    <Exec Command="notepad.exe $(IntDir)\$(MSBuildProjectName).log" /> 
</Target> 

razón yo no expandirlo a cabo es que esto obtener molesto rápido. Posiblemente podría poner:

notepad.exe $(IntDir)\$(MSBuildProjectName).log 

En su etapa de creación de publicaciones. Esto funcionaría un poco mejor, ya que solo se dispararía cuando la compilación realmente haya hecho algo.

Por cierto recomiendo conseguir el libro Hashimi - que hace que todo esto evidente y hace dar respuestas que asumen su sencilla: P

+0

@Genius -1er: ¿Puedes justificar tu voto a favor? Esto responde completamente la pregunta, citando una referencia, con el fragmento relevante citado. ¿O me estoy perdiendo algo? –

+0

¿Podría decir dónde o cómo se definen $ (IntDir) y $ (MSBuildProjectName)? No tengo archivos * .log en mi solución (obviamente lo revisé antes de preguntar). Además, ¿dónde especifica la Gerard

+1

La mayoría de las propiedades están [predefinidas en MSBuild] (http://msdn.microsoft.com/en-us/library/bb629394.aspx). Think IntDir es nuevo en 4.0. Significa el directorio intermedio, que típicamente es 'obj' (no' bin'). ¿Que ayuda? Por cierto, si eres el -1er, te sugiero que corrijas la actitud: las personas aquí están intentando ayudar, y donwvoting sin dar una razón no hace que la gente quiera responder. –

Cuestiones relacionadas