¿Por qué convertir WAPPROJ a CSPROJ?
Los usuarios llegan aquí porque ambos archivos suelen estar juntos en una solución de aplicación de escritorio empaquetada y parecen intercambiables. No lo son: un .csproj define el código fuente de C#, las dependencias y la compilación de una aplicación, mientras que un .wapproj contiene solo metadatos de empaquetado (manifiesto, activos, dependencias) y una referencia al proyecto de aplicación que empaqueta. No hay nada en un .wapproj para compilar en C#.
Cómo convertir WAPPROJ a CSPROJ
Editar el proyecto de C# en Visual Studio FREE
Abra la solución en Visual Studio 2022 y trabaje en el .csproj existente para el código; el .wapproj permanece como el envoltorio de empaquetado que lo referencia. Haga clic derecho en el nodo «Applications» del proyecto de empaquetado para añadir la referencia.
Pasar a MSIX de proyecto único FREE
Para una aplicación WinUI 3 / Windows App SDK puede eliminar el .wapproj separado y usar MSIX de proyecto único, donde el empaquetado reside dentro de un solo .csproj con un Package.appxmanifest. Cree un nuevo proyecto de tipo «Blank App, Packaged» y mueva su código allí.
Inspeccionar ambos archivos en un editor de texto FREE
Abra el .wapproj y el .csproj en VS Code o Notepad para ver que son tipos de proyecto de MSBuild diferentes. Esto confirma que no hay código que migrar, solo una referencia que reconectar.
Acerca de estos formatos
Un archivo .wapproj es un Windows Application Packaging Project utilizado en Visual Studio para empaquetar una aplicación de escritorio (Windows Forms, WPF o Win32) como un paquete MSIX o…
Abrir detalles de .WAPPROJ →Un archivo CSPROJ es un archivo de proyecto de C#, un archivo XML creado por Microsoft que le indica al sistema de compilación cómo compilar un proyecto de C#: qué archivos de origen…
Abrir detalles de .CSPROJ →Calidad y qué observar
- Un
.wapprojno contiene código fuente de la aplicación, por lo que no hay nada que «convertir» en un.csproj. - Los dos proyectos están destinados a coexistir: el proyecto de empaquetado referencia al proyecto de código, no lo reemplaza.
- El modelo antiguo de dos proyectos
.wapprojno es totalmente compatible con el formato.csprojde estilo SDK más reciente, lo cual es una fuente común de errores de compilación.
Preguntas frecuentes
¿Puedo simplemente renombrar .wapproj a .csproj?
¿Dónde está entonces el código real de mi aplicación?
.csproj (o .vcxproj) al que hace referencia el .wapproj, no en el proyecto de empaquetado en sí.¿Cómo me deshago del .wapproj?
.csproj.¿Por qué añadir un .wapproj rompe mi compilación?
.csproj de estilo SDK; verifique la referencia del proyecto y el marco de trabajo de destino (target framework).