[WPF] Library project file cannot specify ApplicationDefinition element

Imagina la siguiente situación: Tienes un proyecto en WPF, con varias ventanas o controles WPF creados, y de repente te da por reorganizarlo todo un poco. Así, que añades un proyecto de tipo «Class Library» a la solución, y luego arrastras desde el Solution Explorer, algunas de las ventanas y/o controles al nuevo proyecto.

Cuando más o menos lo tienes todo, le das a compilar y Visual Studio se queja con dos errores:

  • error MC1002: Library project file cannot specify ApplicationDefinition element.
  • error BG1003: The project file contains a property value that is not valid.

Además aunque le des doble-click en la ventana de errores, Visual Studio no está dispuesto a decirte en que línea o al menos que fichero es el causante de los dos errores.

El error se produce cuando al arrastrar los controles xaml al nuevo proyecto, Visual Studio cambia la «Build Action» de los controles que hayas arrastrado de «Page» a «ApplicationDefinition», y una librería no puede tener ningún control o ventana xaml con «ApplicationDefinition». Así pues, seleccionas en el «Solution Explorer» los ficheros xaml que hayas arrastrado (si arrastras más de un archivo te los cambia todos) y en propiedades, pones «Build Action» a «Page»… y listos!

Saludos!

PD: El fichero que tiene la Build Action como «ApplicationDefinition» es aquel que proporciona el punto de entrada de la aplicación y por lo tanto solo es válido en ejecutables (suele ser el App.xaml).

10 comentarios sobre “[WPF] Library project file cannot specify ApplicationDefinition element”

  1. ATTENTION!

    The same problem happends for me when I copied *.ico files between projects! Probably other images will also make an error. But images need to be set «Resource» as «Build Action»

Responder a anonymous Cancelar respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *