¿Están las propiedades de MSBuild que establece Visual Studio? Estoy buscando tener un comportamiento condicional dependiendo de la versión (si la hay) de Visual Studio.En MSBuild es posible determinar si estoy ejecutando en Visual Studio
Respuesta
El valor de propiedad que debe usar es BuildingInsideVisualStudio
, cuando está construyendo dentro de Visual Studio esta propiedad se establecerá en verdadero. Como ProductVersion
está declarado en el archivo de proyecto, no puede usarlo porque tendrá el mismo valor ya sea que esté dentro de VS o mediante msbuild.exe.
Documentación aquí: http://msdn.microsoft.com/en-us/library/ms171468(en-us).aspx. –
Preste atención a que esta propiedad esté habilitada incluso si ejecuta devenv.com desde la consola. –
Sí, <ProductVersion>
aparece en un archivo de proyecto. Coincide con el número de versión de Visual Studio.
Ver mi comentario sobre esto. –
<ProductVersion>
le dará la versión de MSBuild que está ejecutando el proceso de compilación.
Tenga en cuenta que en VS 2010 el proceso de compilación puede estar orientado a .Net 4.0 o 3.5. Debe considerar cuidadosamente si su compilación condicional depende de la versión de msbuild o del marco de destino de la compilación y las herramientas de la compilación. utilizando. Si su condición se basa en el marco objetivo, use <TargetFrameworkVersion>
.
Por supuesto, si su compilación también podría ejecutarse en VS 2008, necesita admitir la recuperación adecuada si <TargetFrameworkVersion>
falta.
para abordar directamente la cuestión en su título - si lo que desea saber si está siendo construido a partir VS o no, comprobar el valor de IsDesktopBuild
que devolverá true
o false
adecuadamente.
Esto solo se aplica a TFS. –
@Sayed gracias. ¡Debido a que solo he usado MSBuild desde dentro de TFS, no sé dónde están los puntos de división! – AakashM
- 1. Detectando si estoy ejecutando en SharePoint
- 2. PHP intellisense en Visual Studio - ¿Es posible?
- 3. La integración de MSBuild en Visual Studio
- 4. ¿Necesita MSBuild instalar Visual Studio?
- 5. Posible búsqueda de tipo ViM en Visual Studio ¿es posible?
- 6. ¿Cómo puedo determinar si estoy ejecutando localmente en mi PC o en la nube?
- 7. Cómo detectar si estoy compilando código con Visual Studio 2008?
- 8. ¿Es posible compilar ffmpeg en visual studio 2010?
- 9. ¿Es posible proporcionar intellisense para objetos dinámicos en Visual Studio?
- 10. ¿Es posible cargar símbolos no coincidentes en Visual Studio?
- 11. ¿Cómo puedo verificar si estoy ejecutando Windows en Python?
- 12. ¿Es posible cambiar iconos en Visual Studio 2012?
- 13. ¿Es posible reemplazar a mayúsculas en Visual Studio?
- 14. ¿Es posible importar informes existentes de SSRS en Visual Studio?
- 15. ¿Es posible integrar NUnit en Visual Studio 2010?
- 16. ¿Es posible depurar remotamente un VirtualBox con Visual Studio?
- 17. Ejecutando GCC a través de Visual Studio
- 18. Visual Studio sigue ejecutando la compilación anterior
- 19. ¿Cómo puedo determinar qué Service Pack se está ejecutando Visual Studio?
- 20. Ejecutando Visual Studio sin derechos de administrador
- 21. Determinar si el programa se está ejecutando en Windows Server
- 22. determinar el tipo de proyecto en Visual Studio
- 23. ¿Es posible desarrollar aplicaciones de Android con visual studio 2010?
- 24. ¿Es posible usar C# 4.0 con Visual Studio 2008?
- 25. ¿Es posible personalizar el autoformato de Visual Studio?
- 26. /LinkResource en Visual Studio 2010
- 27. ¿Es posible wikify comentarios de Visual Studio XML?
- 28. Visual Studio versión-agnóstico proyectos/soluciones: ¿es posible?
- 29. ¿Es posible agregar validación HTML5 a Visual Studio?
- 30. Instalación de MSBuild 4.0 sin Visual Studio 2010
¿Has visto la respuesta a una publicación anterior: http://stackoverflow.com/questions/2499253/msbuild-how-to-set-condition-using-a-condition-stored-in-a-property Quizás esto tomará el camino correcto – used2could