[WPF] Library project file cannot specify ApplicationDefinition element

 ·  ☕ 2 min  ·  ✍️ eiximenis

    Nota: Este post ha sido importado de mi blog de geeks.ms. Es posible que algo no se vea del todo "correctamente". En cualquier caso puedes acceder a la versión original aquí

    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).

    Si quieres, puedes invitarme a un café xD

    eiximenis
    ESCRITO POR
    eiximenis
    Compulsive Developer