「試用版」バージョンを使用せずに、同じプロジェクトでアプリの無料バージョンと有料バージョンを使用したい場合は、次のようにします。
各プロジェクトには、インストール時にアプリを他のアプリと区別する単一のProductIDが割り当てられます。2番目のプロジェクトを作成し、最初のプロジェクトのすべてのファイルにリンクすることもできますが、プロジェクトの成長に合わせてメンテナンスが必要になります。私のソリューションでは、ビルド構成を使用して、ビルドする無料または有料のアプリを選択できます。
まず、アプリのバージョンごとに個別のProductIDが必要です。このProductIDは、マニフェストファイル「Properties/WMAAppManifest.xml」で宣言されています。したがって、最初のステップは、WMAAppManifest.xmlの2つのバージョンを作成することです。私はそれらをWMAAppManifestPaid.xmlおよびWMAAppManifestFree.xmlと呼んでいます。
これらのマニフェストファイルのそれぞれで、ProductIDに個別のGUIDを提供し、無料バージョンのタイトルを変更して、インストール時に区別できるようにします。
次に、プロジェクトに2つの新しいビルド構成を追加する必要があります。私はそれらをReleaseFreeとDebugFreeと呼んでいます。
次に、いくつかのビルド前イベントをすべてのビルド構成に追加して、適切なマニフェストファイルをコピーします。
if $(ConfigurationName)== Release copy $(ProjectDir)\ Properties \ WMAppManifestPaid.xml $(ProjectDir)\ Properties \ WMAppManifest.xml if $(ConfigurationName)== Debug copy $(ProjectDir)\ Properties \ WMAppManifestPaid.xml $( ProjectDir)\ Properties \ WMAppManifest.xml if $(ConfigurationName)== ReleaseFree copy $(ProjectDir)\ Properties \ WMAppManifestFree.xml $(ProjectDir)\ Properties \ WMAppManifest.xml if $(ConfigurationName)== DebugFree copy $(ProjectDir) \ Properties \ WMAppManifestFree.xml $(ProjectDir)\ Properties \ WMAppManifest.xml
これで、ビルド構成を変更するだけで、アプリの無料バージョンまたは有料バージョンのいずれかをビルドできるようになります。
次に、機能の制限、異なるページの表示など、無料バージョンを有料バージョンと実際に異なるものにするために、FREE_VERSIONなどの条件付きコンパイルシンボルを2つの無料ビルド構成に追加する必要があります。
次に、コンパイラ指令を使用して、次のようなコードを変更できます。
#if FREE_VERSION
s = "My App Free";
#else
s = "My App Paid";
#endif