6

He agregado el comando BuildOnlyProject al menú. Pero siempre está deshabilitado. También está deshabilitado, cuando selecciono un Project-Node en Solutionexplorer. ¿Alguien sabe por qué?Comando BuildOnlyProject deshabilitado

Gracias y un saludo, Thomas

+0

¿Qué sucede cuando se selecciona un subnodo del proyecto? ¿La opción aparece en el menú contextual del proyecto? funciona correctamente? – shoosh

Respuesta

6

Visual Studio no admite compilaciones de solo proyecto para proyectos C# o Visual Basic, solo para proyectos C++. Si usted tiene una solución mixta con ambos proyectos de C++ C# y en ella se puede seleccionar un proyecto de C++ en el Explorador de soluciones y verá:

  • Build -> Sólo Project -> Build Sólo CPlusPlusProjectName

en el menú. El uso de esta opción de menú literalmente hará que solo se construya un proyecto como lo demuestra la ventana de resultados. Por otra parte, si se selecciona un proyecto de C#, el "Proyecto Sólo" sub-menú se ha ido y la única manera de construir el proyecto será con:

  • Build -> Construir CSharpProjectName

Cuando utiliza esta opción de menú, también se compilará el proyecto seleccionado y cualquier otro proyecto del que dependa el proyecto, a menudo varios proyectos en total.

Es por eso que si selecciona un proyecto que no es un proyecto de C++, se deshabilitará el comando "Construir solo proyecto".

+0

está bien - y ahora hay forma de definir en C#, que solo el proyecto actual debe ser compilado - sin los proyectos, lo que depende de la corriente? – BennoDual

+0

Por mucho que nos gustaría tener esa característica, Visual Studio no la tiene. Pero "Build -> Build ProjectName" al menos no crea otros proyectos que no dependen de ProjectName, por lo que es aún más rápido construir la solución. –

+0

¿Hay alguna forma de hacerlo directamente con MSBuild? - Entonces puedo escribir un guion para alcanzar mi objetivo. – BennoDual

4

¿Quieres algo suceda eso sería diferente de la orden Build.BuildSelection? Parece que Build.BuildProjectOnly does not work, y MS parece implicar que what people want is Build.BuildSelection.

+0

Vine aquí buscando una manera de hacer lo que F5 hace: construir * solo * el proyecto actual (dejando las dependencias solo), y * solo * si está desactualizado. 'BuildSelection' pasa por todas las dependencias y el proyecto actual, aunque no esté desactualizado. –

2

Si quiere ensuciarse por qué no añadir una configuración especial de construcción para su proyecto que sólo incluye el proyecto que desea construir

Project configuration

sólo los proyectos seleccionados será de construcción.

Cuestiones relacionadas