Зачем конвертировать WAPPROJ в CSPROJ?
Пользователи ищут это, потому что оба файла находятся рядом в решении для упакованного настольного приложения и выглядят взаимозаменяемыми. Это не так: .csproj определяет исходный код C#, зависимости и сборку приложения, в то время как .wapproj содержит только метаданные упаковки (манифест, ресурсы, зависимости) и ссылку на проект приложения, который он упаковывает. В .wapproj нет ничего, что можно было бы скомпилировать в C#.
Способы конвертации WAPPROJ в CSPROJ
Редактирование проекта C# в Visual Studio FREE
Откройте решение в Visual Studio 2022 и работайте в существующем .csproj с кодом; .wapproj остается упаковочной оболочкой, которая ссылается на него. Щелкните правой кнопкой мыши узел Applications в проекте упаковки, чтобы добавить ссылку.
Переход на однопроектный MSIX FREE
Для приложений WinUI 3 / Windows App SDK вы можете отказаться от отдельного .wapproj и использовать однопроектный MSIX, где упаковка находится внутри одного .csproj с Package.appxmanifest. Создайте новый проект Blank App, Packaged и перенесите туда свой код.
Изучение обоих файлов в текстовом редакторе FREE
Откройте .wapproj и .csproj в VS Code или Блокноте, чтобы увидеть, что это разные типы проектов MSBuild. Это подтвердит, что переносить код не нужно, нужно лишь восстановить связь.
Об этих форматах
Файл .wapproj - это проект упаковки приложений Windows (Windows Application Packaging Project), используемый в Visual Studio для упаковки настольных приложений (Windows Forms, WPF или…
Открыть детали .WAPPROJ →A CSPROJ file is a C# project file - an XML file created by Microsoft that tells the build system how to compile one C# project: which source files to include, which NuGet packages to use,…
Открыть детали .CSPROJ →Качество и на что обратить внимание
.wapprojне содержит исходного кода приложения, поэтому в нем нечего «конвертировать» в.csproj.- Эти два проекта предназначены для сосуществования: проект упаковки ссылается на проект с кодом, а не заменяет его.
- Старая модель
.wapprojиз двух проектов не полностью поддерживает новый формат.csprojв стиле SDK, что является частой причиной ошибок сборки.
Часто задаваемые вопросы
Можно ли просто переименовать .wapproj в .csproj?
Где тогда находится мой фактический код приложения?
.csproj (или .vcxproj), на который ссылается .wapproj, а не в самом проекте упаковки.Как мне избавиться от .wapproj?
.csproj.Почему добавление .wapproj ломает мою сборку?
.csproj в стиле SDK; проверьте ссылки на проекты и целевой фреймворк.