Skip to main content

Manifests, project, and resources

This page covers non-class inputs that define how WebRadioFM builds, launches, and accesses phone features.

WebRadioFM.csproj​

Identity and target​

PropertyValue
Tools version12.0
Project typeWindows Phone + C# GUIDs
Output typeLibrary (Silverlight application assembly)
Root namespace / assemblyWebRadioFM
Target frameworkWindowsPhone v8.1
Silverlight applicationtrue
XAP outputtrue
Entry pointWebRadioFM.App
Minimum Visual Studio12.0
XAML validationenabled, errors thrown

XAP name is WebRadioFM_$(Configuration)_$(Platform).xap.

Configurations​

Debug enables full symbols, disables optimization, and defines DEBUG;TRACE;SILVERLIGHT;WINDOWS_PHONE. Release uses PDB-only debug type, optimization, and TRACE;SILVERLIGHT;WINDOWS_PHONE.

Both exist for AnyCPU, x86, ARM, and x64 with platform-specific output paths.

Items​

The old-style project explicitly includes:

  • 17 C# compile items including the generated RESX designer;
  • application definition and three XAML pages;
  • two manifest files;
  • 12 PNG content assets;
  • Microsoft.Xna.Framework reference; and
  • embedded AppResources.resx.

Two empty compatibility targets are declared at the end:

  • _GetRecursiveResolvedSDKReferences
  • ValidateWMAppManifest depending on WMAppManifestWinMDRegistration

They do not supply missing platform binaries/targets.

WMAppManifest.xml​

App identity​

AttributeValue
Platform8.1
Default languageen-US
TitleWebRadio.FM
RuntimeSilverlight
Version1.0.0.0
Genreapps.normal
Author/PublisherWebRadioFM
DescriptionWindows Phone 8.1 music player with Last.fm scrobbling

Product/publisher IDs are GUID values in the manifest. Release environments may require registered identities.

Capabilities​

  • ID_CAP_NETWORKING
  • ID_CAP_MEDIALIB_AUDIO
  • ID_CAP_MEDIALIB_PLAYBACK
  • ID_CAP_WEBBROWSERCOMPONENT
  • ID_CAP_ISOLATED_STORAGE

Tasks and tiles​

The default task navigates to MainPage.xaml. A primary flip tile references 71×71, 150×150, and 310×150 images and enables the large tile.

Supported screen resolutions are WVGA, WXGA, and HD720P.

AppManifest.xml​

The checked-in Silverlight deployment manifest template contains the Deployment root and an empty Deployment.Parts collection. The Windows Phone build targets generate/populate package deployment metadata during the XAP build; do not infer the final runtime manifest solely from this minimal template.

AssemblyInfo.cs​

Assembly/product title is WebRadioFM; description states its Windows Phone/Last.fm purpose. COM visibility is false. Assembly and file versions are 1.0.0.0, and neutral resource language is en-US.

Application resources​

AppResources.resx currently contains:

GroupKeys
CultureResourceFlowDirection, ResourceLanguage
TitlesApplicationTitle, MainTitle, SettingsTitle
App barAppBarPlay, AppBarPause, AppBarNext, AppBarPrev, AppBarShuffle, AppBarSettings
LibraryNoTracksMessage
Last.fmheader, API labels, login/logout, auth status, enable label

Not every hard-coded page string has a resource key, and not every existing key is used by current XAML.

AppResources.Designer.cs is generated with ResourceManager and culture support. LocalizedStrings makes an accessor available as StaticResource LocalizedStrings.

XAML application resources​

App.xaml defines:

  • LocalizedStrings
  • BoolToVisibilityConverter
  • InverseBoolToVisibilityConverter

It also wires PhoneApplicationService lifecycle events to App.xaml.cs.

Packaged PNG assets​

AssetUse
ApplicationIcon.pngApp list icon
SplashScreen.pngLaunch splash
TileSquare71x71.pngSmall tile
TileSquare150x150.pngMedium tile
TileWide310x150.pngWide tile
appbar.transport.play.pngPlay state
appbar.transport.pause.pngPause state
appbar.transport.ff.pngNext
appbar.transport.rew.pngPrevious
appbar.shuffle.pngShuffle off
appbar.shuffle.active.pngShuffle on
appbar.refresh.pngStats refresh

Paths are package-relative and use /Assets/... in XAML/code.

Change checklist​

When adding source/page/assets:

  1. add the file to the correct .csproj ItemGroup;
  2. configure DependentUpon for code-behind where appropriate;
  3. mark packaged images as Content and copy when needed;
  4. add required capabilities to the phone manifest;
  5. update navigation/task metadata if entry points change; and
  6. test a clean XAP, not only incremental Visual Studio output.