Waarom WAPPROJ naar CSPROJ converteren?
Mensen komen hier terecht omdat beide bestanden naast elkaar staan in een oplossing voor een verpakte desktop-app en uitwisselbaar lijken. Dat zijn ze niet: een .csproj definieert de C#-broncode, afhankelijkheden en build van een app, terwijl een .wapproj alleen verpakkingsmetadata (manifest, assets, afhankelijkheden) bevat en een verwijzing naar het app-project dat het verpakt. Er staat niets in een .wapproj om naar C# te compileren.
Hoe WAPPROJ naar CSPROJ te converteren
Het C#-project bewerken in Visual Studio FREE
Open de oplossing in Visual Studio 2022 en werk in de bestaande .csproj voor code; de .wapproj blijft de verpakkingswrapper die daarnaar verwijst. Klik met de rechtermuisknop op de Applications-node van het verpakkingsproject om de verwijzing toe te voegen.
Overstappen naar single-project MSIX FREE
Voor een WinUI 3 / Windows App SDK-app kunt u de afzonderlijke .wapproj laten vallen en single-project MSIX gebruiken, waarbij de verpakking binnen één .csproj leeft met een Package.appxmanifest. Maak een nieuw „Blank App, Packaged”-project aan en verplaats uw code daarheen.
Beide bestanden inspecteren in een teksteditor FREE
Open de .wapproj en .csproj in VS Code of Notepad om te zien dat het verschillende MSBuild-projecttypen zijn. Dit bevestigt dat er geen code is om te migreren, alleen een verwijzing om opnieuw te verbinden.
Over deze formaten
Een .wapproj-bestand is een Windows Application Packaging Project dat in Visual Studio wordt gebruikt om een desktop-app (Windows Forms, WPF of Win32) te verpakken als een MSIX- of…
Open .WAPPROJ details →Een CSPROJ-bestand is een C# project-bestand - een XML-bestand gemaakt door Microsoft dat het buildsysteem vertelt hoe een C# project moet worden gecompileerd: welke bronbestanden moeten…
Open .CSPROJ details →Kwaliteit & waar op te letten
- Een
.wapprojbevat geen broncode van de applicatie, dus er is niets om te „converteren” naar een.csproj. - De twee projecten zijn bedoeld om naast elkaar te bestaan: het verpakkingsproject verwijst naar het codeproject, in plaats van het te vervangen.
- Het oudere
.wapproj-model met twee projecten ondersteunt het nieuwere SDK-stijl.csproj-formaat niet volledig, wat een veelvoorkomende bron van build-fouten is.
Veelgestelde vragen
Kan ik .wapproj gewoon hernoemen naar .csproj?
Waar is mijn eigenlijke app-code dan?
.csproj (of .vcxproj) project waar de .wapproj naar verwijst, niet in het verpakkingsproject zelf.Hoe kom ik van de .wapproj af?
.csproj.Waarom verbreekt het toevoegen van een .wapproj mijn build?
.csproj-bestanden; controleer de projectreferentie en het target framework.