なぜ WAPPROJ を CSPROJ に変換するのですか?
パッケージ化されたデスクトップアプリのソリューションにおいて、両方のファイルが並んで配置されており、互換性があるように見えるため、このページに辿り着く人が多いです。しかし、これらは別物です。.csproj はアプリの C# ソース、依存関係、ビルドを定義し、.wapproj はパッケージングメタデータ(マニフェスト、アセット、依存関係)と、パッケージ化するアプリプロジェクトへの参照のみを含みます。.wapproj の中には C# にコンパイルできるものは何もありません。
WAPPROJ から CSPROJ への変換方法
Visual Studio で C# プロジェクトを編集する FREE
Visual Studio 2022 でソリューションを開き、コードについては既存の .csproj で作業します。.wapproj はそれを参照するパッケージングラッパーとして残ります。パッケージングプロジェクトの «アプリケーション» ノードを右クリックして参照を追加します。
単一プロジェクト MSIX に移行する FREE
WinUI 3 / Windows App SDK アプリの場合、独立した .wapproj を廃止し、パッケージングが Package.appxmanifest と共に1つの .csproj 内に共存する «単一プロジェクト MSIX» を使用できます。新しい «空のアプリ (パッケージ化)» プロジェクトを作成し、コードを移動してください。
テキストエディタで両方のファイルを確認する FREE
VS Code やメモ帳で .wapproj と .csproj を開き、それらが異なる MSBuild プロジェクトタイプであることを確認してください。これにより、移行すべきコードはなく、再接続すべき参照があるだけであることがわかります。
これらの形式について
.wapproj ファイルは、Visual Studio でデスクトップアプリ(Windows Forms、WPF、または Win32)を Microsoft Store やサイドローディング用の MSIX または APPX パッケージとしてパッケージ化するために使用される Windows Application Packaging Project…
.WAPPROJ の詳細を開く →CSPROJ ファイルは C# プロジェクト ファイルです。これは Microsoft によって作成された XML ファイルで、ビルド システムに対して、どのソース ファイルを含めるか、どの NuGet パッケージを使用するか、どの .NET バージョンをターゲットにするかなど、1 つの C# プロジェクトをコンパイルする方法を指示します。ソース…
.CSPROJ の詳細を開く →品質と注意点
.wapprojにはアプリケーションのソースコードが含まれていないため、.csprojに «変換» するものは何もありません。- 2つのプロジェクトは共存することを意図しています。パッケージングプロジェクトはコードプロジェクトを参照するものであり、置き換えるものではありません。
- 古い2プロジェクト構成の
.wapprojモデルは、新しい SDK スタイルの.csprojフォーマットを完全にはサポートしていない場合があり、これがビルドエラーの一般的な原因となります。
よくある質問
.wapproj を .csproj にリネームするだけでいいですか?
では、実際のアプリコードはどこにありますか?
.wapproj が参照している .csproj(または .vcxproj)プロジェクトの中にあります。.wapproj を削除するにはどうすればよいですか?
.csproj に統合されます。.wapproj を追加するとビルドが壊れるのはなぜですか?
.csproj ファイルとの間に既知の互換性のギャップがあります。プロジェクト参照とターゲットフレームワークを確認してください。