Perché convertire WAPPROJ in CSPROJ?
Gli utenti arrivano a questa conclusione perché entrambi i file si trovano fianco a fianco in una soluzione di app desktop pacchettizzata e sembrano intercambiabili. Non lo sono: un .csproj definisce il sorgente C#, le dipendenze e la build di un'app, mentre un .wapproj contiene solo metadati di packaging (manifest, asset, dipendenze) e un riferimento al progetto dell'app che pacchettizza. Non c'è nulla in un .wapproj da compilare in C#.
Come convertire WAPPROJ in CSPROJ
Modifica il progetto C# in Visual Studio FREE
Apri la soluzione in Visual Studio 2022 e lavora nel .csproj esistente per il codice; il .wapproj rimane come contenitore di packaging che vi fa riferimento. Fai clic con il tasto destro sul nodo «Applicazioni» del progetto di packaging per aggiungere il riferimento.
Passa a MSIX a progetto singolo FREE
Per un'app WinUI 3 / Windows App SDK puoi eliminare il .wapproj separato e usare MSIX a progetto singolo, dove il packaging risiede all'interno di un unico .csproj con un Package.appxmanifest. Crea un nuovo progetto «App vuota, pacchettizzata» e sposta il tuo codice all'interno.
Ispeziona entrambi i file in un editor di testo FREE
Apri il .wapproj e il .csproj in VS Code o Blocco note per vedere che sono tipi di progetto MSBuild diversi. Questo conferma che non c'è codice da migrare, ma solo un riferimento da riconnettere.
Informazioni su questi formati
Un file .wapproj è un Windows Application Packaging Project utilizzato in Visual Studio per pacchettizzare un'app desktop (Windows Forms, WPF o Win32) come pacchetto MSIX o APPX per il…
Apri dettagli .WAPPROJ →Un file CSPROJ è un file di progetto C# - un file XML creato da Microsoft che indica al sistema di compilazione come compilare un progetto C#: quali file sorgente includere, quali pacchetti…
Apri dettagli .CSPROJ →Qualità e a cosa prestare attenzione
- Un
.wapprojnon contiene codice sorgente dell'applicazione, quindi non c'è nulla da «convertire» in un.csproj. - I due progetti sono destinati a coesistere: il progetto di packaging fa riferimento al progetto del codice, non lo sostituisce.
- Il vecchio modello
.wapproja due progetti non supporta completamente il nuovo formato.csprojin stile SDK, il che è una causa comune di errori di compilazione.
Domande frequenti
Posso semplicemente rinominare .wapproj in .csproj?
Dove si trova allora il codice effettivo della mia app?
.csproj (o .vcxproj) a cui fa riferimento il .wapproj, non nel progetto di packaging stesso.Come faccio a eliminare il .wapproj?
.csproj.Perché l'aggiunta di un .wapproj interrompe la mia build?
.csproj in stile SDK; controlla il riferimento al progetto e il framework di destinazione.