Dlaczego konwertować WAPPROJ na CSPROJ?
Użytkownicy trafiają tutaj, ponieważ oba pliki znajdują się obok siebie w rozwiązaniu spakowanej aplikacji desktopowej i wyglądają na wymienne. Tak nie jest: .csproj definiuje źródła C#, zależności i proces budowania aplikacji, podczas gdy .wapproj zawiera tylko metadane pakowania (manifest, zasoby, zależności) oraz odniesienie do projektu aplikacji, który pakuje. W .wapproj nie ma nic, co można by skompilować do C#.
Jak przekonwertować WAPPROJ na CSPROJ
Edycja projektu C# w Visual Studio FREE
Otwórz rozwiązanie w Visual Studio 2022 i pracuj w istniejącym .csproj nad kodem; .wapproj pozostaje jako opakowanie pakujące, które się do niego odwołuje. Kliknij prawym przyciskiem myszy węzeł Applications w projekcie pakowania, aby dodać odniesienie.
Przejście na MSIX z jednym projektem FREE
W przypadku aplikacji WinUI 3 / Windows App SDK można zrezygnować z osobnego .wapproj i użyć modelu „single-project MSIX”, gdzie pakowanie odbywa się wewnątrz jednego .csproj z plikiem Package.appxmanifest. Utwórz nowy projekt „Blank App, Packaged” i przenieś tam swój kod.
Inspekcja obu plików w edytorze tekstu FREE
Otwórz .wapproj i .csproj w VS Code lub Notatniku, aby zobaczyć, że są to różne typy projektów MSBuild. Potwierdza to, że nie ma kodu do migracji, a jedynie odniesienie do ponownego połączenia.
O tych formatach
Plik .wapproj to projekt pakowania aplikacji systemu Windows (Windows Application Packaging Project) używany w Visual Studio do pakowania aplikacji desktopowych (Windows Forms, WPF lub…
Otwórz szczegóły .WAPPROJ →Plik CSPROJ to plik projektu C# - plik XML stworzony przez Microsoft, który informuje system budowania, jak skompilować dany projekt C#: które pliki źródłowe uwzględnić, jakich pakietów…
Otwórz szczegóły .CSPROJ →Jakość i na co uważać
- Plik
.wapprojnie zawiera kodu źródłowego aplikacji, więc nie ma czego „konwertować” na.csproj. - Oba projekty mają współistnieć: projekt pakowania odwołuje się do projektu kodu, a nie go zastępuje.
- Starszy model
.wapprojz dwoma projektami nie wspiera w pełni nowszego formatu SDK-style.csproj, co jest częstym źródłem błędów budowania.
Najczęściej zadawane pytania
Czy mogę po prostu zmienić nazwę .wapproj na .csproj?
Gdzie w takim razie jest mój właściwy kod aplikacji?
.csproj (lub .vcxproj), do którego odwołuje się .wapproj, a nie w samym projekcie pakowania.Jak pozbyć się .wapproj?
.csproj.Dlaczego dodanie .wapproj psuje proces budowania?
.csproj typu SDK; sprawdź odniesienia do projektów i docelowy framework (target framework).