Если вы хотите иметь бесплатную и платную версию своего приложения в одном проекте без использования «пробной» версии, я делаю это следующим образом:
Каждому проекту присваивается один ProductID, который различаетприложение из других приложений во время установки.Вы можете создать второй проект и связать все файлы в первом проекте, но это потребует обслуживания по мере роста проекта.Мое решение позволяет использовать конфигурацию сборки, чтобы выбрать бесплатное или платное приложение для сборки.
Сначала вам потребуется отдельный ProductID для каждой версии приложения.Этот ProductID объявлен в файле манифеста 'Properties / WMAAppManifest.xml'.Поэтому первым шагом является создание двух версий WMAAppManifest.xml.Я называю их WMAAppManifestPaid.xml и WMAAppManifestFree.xml.
. В каждом из этих файлов манифеста укажите отдельный идентификатор GUID для ProductID, а также измените название бесплатной версии, чтобы вы могли отличить их, когда они установлены..
Далее нам нужно добавить две новые конфигурации сборки в проект.Я называю их ReleaseFree и DebugFree.
Затем вы добавляете несколько событий предварительной сборки во все конфигурации сборки, чтобы скопировать соответствующий файл манифеста:
if $ (ConfigurationName) == Release copy $(ProjectDir) \ Properties \ WMAppManifestPaid.xml $ (ProjectDir) \ Properties \ WMAppManifest.xml if $ (ConfigurationName) == Отладочная копия $ (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 для двух бесплатных конфигураций сборки.
тогда вы можете просто использовать директивы компилятора для изменения кода, такого как:
#if FREE_VERSION
s = "My App Free";
#else
s = "My App Paid";
#endif