Varför konvertera WAPPROJ till CSPROJ?
Folk hamnar här för att båda filerna ligger sida vid sida i en paketerad lösning för skrivbordsappar och ser utbytbara ut. Det är de inte: en .csproj definierar en apps C#-källkod, beroenden och bygge, medan en .wapproj endast innehåller metadata för paketering (manifest, resurser, beroenden) och en referens till det app-projekt den paketerar. Det finns inget i en .wapproj att kompilera till C#.
Hur man konverterar WAPPROJ till CSPROJ
Redigera C#-projektet i Visual Studio FREE
Öppna lösningen i Visual Studio 2022 och arbeta i den befintliga .csproj-filen för kod; .wapproj förblir paketeringshöljet som refererar till den. Högerklicka på paketeringsprojektets Applications-nod för att lägga till referensen.
Flytta till MSIX med ett projekt FREE
För en WinUI 3 / Windows App SDK-app kan du skippa den separata .wapproj-filen och använda MSIX med ett projekt, där paketeringen lever inuti en .csproj med en Package.appxmanifest. Skapa ett nytt «Blank App, Packaged»-projekt och flytta över din kod.
Inspektera båda filerna i en textredigerare FREE
Öppna .wapproj och .csproj i VS Code eller Notepad för att se att de är olika MSBuild-projekttyper. Detta bekräftar att det inte finns någon kod att migrera, bara en referens att återansluta.
Om dessa format
En .wapproj-fil är ett Windows Application Packaging Project som används i Visual Studio för att paketera en skrivbordsapp (Windows Forms, WPF eller Win32) som ett MSIX- eller APPX-paket…
Öppna detaljer för .WAPPROJ →En CSPROJ-fil är en C#-projektfil - en XML-fil skapad av Microsoft som talar om för byggsystemet hur ett C#-projekt ska kompileras: vilka källfiler som ska inkluderas, vilka NuGet-paket som…
Öppna detaljer för .CSPROJ →Kvalitet & vad man bör tänka på
- En
.wapprojinnehåller ingen källkod för applikationen, så det finns inget att «konvertera» till en.csproj. - De två projekten är tänkta att samexistera: paketeringsprojektet refererar till kodprojektet, inte ersätter det.
- Den äldre
.wapproj-modellen med två projekt stöder inte fullt ut det nyare formatet för.csproji SDK-stil, vilket är en vanlig källa till byggfel.
Vanliga frågor
Kan jag bara byta namn på .wapproj till .csproj?
Var finns min faktiska app-kod då?
.csproj-projekt (eller .vcxproj) som .wapproj-filen refererar till, inte i själva paketeringsprojektet.Hur blir jag av med .wapproj-filen?
.csproj.Varför går mitt bygge sönder när jag lägger till en .wapproj?
.csproj-filer i SDK-stil; kontrollera projektreferensen och «target framework».