Switching between Windows Phone 7.1 Mango and 7.0 RTW developer tools and vice versa
published on: 5/30/2011
by WindowsPhoneGeek
In this post I am going to talk about how to switch between Windows Phone 7.1(Mango) and Windows Phone 7.0 RTW Developer Tools and vice versa, when building your WP7 Apps.
To begin with lets first mention that the latest update of the Windows Phone 7.1 Developer Tools(Mango) supports version 7.1 and 7.0 as well. So you can choose whether to develop a WP 7.1 Mango app or to build a standard windows phone 7.0 app that can be published on the Marketplace.
Note that you still can not publish "Mango" apps, but probably you want to try the "cool" new features that comes with "Mango". If you upgrade your app to "7.1" you will probably want to revert it back to WP 7.0 so that it can be published on the Marketplace, that is why switching between 7.0 and 7.1 of the tools and vice versa could be an option. However, there are several problems that you will need to handle whenever try to switch between these two version of the dev tools.
NOTE: Before we begin make sure that you have installed the Windows Phone Developer Tools 7.1 Beta(Mango).
Changing the Target Windows Phone Version from 7.0 to 7.1 (upgrade your project to "Mango")
This is the easiest scenario. Lets say that we have a WP7 project build with Windows Phone 7.0 official RTW tools developer tools and want to upgrade it to Windows Phone 7.1 Beta(Mango) tools.
Basically you have two options either to use the VisualStudio designer or to edit the VisualStudio project on your own.
Option1: Using the VisualStudio Designer:
Step1: Right click the target project file in VisualStudio and select "Properties":
Step2: Go to "Target Windows Phone Version" combo and select the "Windows Phone 7.1" option:
Step3: Read carefully the warning and press "Yes" button. Note that this will upgrade all the project to the new 7.1 version!
Option2: Edit the VisualStudio Project file:
Step1: Right click the project file in VisualStudio and select "Unload Project":
Step2: Right click the project file and select "Edit .."
NOTE: WP7MangoTest is the name of our project, in your case change the name to the desired one!
Step3: Find the line with "TargetFrameworkProfile" element and set its value from "WindowsPhone" to "WindowsPhone71"!
<TargetFrameworkProfile>WindowsPhone71</TargetFrameworkProfile>
Step4: After that go to the VisualStudio project file, right click and select "Reload Project". Click "Yse" button from the message box so that the changes will be reflected and the file will be successfully updated.
Step5. That is all you need to do. You are now working with Windows Phone 7.1 Beta (Mango) version. Just build and run the project.
Changing the Target Windows Phone Version from 7.1 to 7.0
This is the more complex scenario because not everything is working as expected and you will have to make some additional settings on your own. Lets say that we have a WP7 project build with Windows Phone 7.1 (Mango) tools developer tools and want to revert it back to Windows Phone 7.0 RTW tools.
The first strange thing here is that you can not use the VisualStudio Designer in order to switch back to Windows Phone 7.0. If you right click the ProjectFile and select properties (ProjectFile->Properties) you will see that under "Target Windows Phone Version" the only available value is "Windows Phone 7.1"! So the previously described Option1 above is not an option here because "Windows Phone 7.0" version seems to be missing.
Fortunately you can still switch back to Windows Phone 7.0 by editing the VisualStudio Project file. But unfortunately this is still not enough. So you will have to follow the steps:
Step1: Right click the project file in VisualStudio and select "Unload Project":
Step2: Right click the project file and select "Edit .."
NOTE: WP7MangoTest is the name of our project, in your case change the name to the desired one!
Step3: Find the line with "TargetFrameworkProfile" element and set its value from "WindowsPhone71" to "WindowsPhone"!
<TargetFrameworkProfile>WindowsPhone</TargetFrameworkProfile>
Step4: After that go to the VisualStudio project file, right click and select "Reload Project". Click "Yse" button from the message box so that the changes will be reflected and the file will be successfully updated.
Step5: If you try to build the project you will notice the following exception:
"Error 1 The 'AppPlatformVersion' attribute is invalid - The value '7.1' is invalid according to its datatype 'http://schemas.microsoft.com/windowsphone/2009/deployment:ST_AppPlatformVersion' - The Enumeration constraint failed. "
Step6: To fix this you will have to "WMAppManifest.xml" file and change the AppPlatformVersion from "7.1" to "7.0":
Step7. That is all you need to do. You are now working with Windows Phone 7.0 RTW version. Just build and run the project.
UPDATE: If you have the following code in your WMAppManifest.xml then you need to remove it:
<Capability Name="ID_CAP_ISV_CAMERA">
<Capability Name="ID_CAP_CONTACTS">
<Capability Name="ID_CAP_APPOINTMENTS">
That was all about how to switch between Windows Phone 7.0 and Windows Phone 7.1 and vise versa, when building your windows phone applications. Here is the sample project:
I hope that the post was helpful.
You can also follow us on Twitter: @winphonegeek for Windows Phone; @winrtgeek for Windows 8 / WinRT
Comments
posted by: Peter B. on 5/30/2011 1:57:26 PM
That is really helpful stuff. I modified my project to test it in Mango. I did not know how to revert it back to 7.0. I tried to edit the project in Notepad and so on and so on.. but still no luck. This post definitely solve my problem. Thank you guys for the good work. Vote up for you!
Back to 7.0:)
posted by: Mery J. on 5/30/2011 1:59:24 PM
Just managed to revert my app back to 7.0. Really helpful guide.
One more must read article.
posted by: Jan Limberg on 5/30/2011 11:01:21 PM
One more must read article.
thank you! couldn't submit to wp7 marketplace with 7.1
posted by: richard d on 6/28/2011 10:59:37 PM
Thanks, I tried to submit to the marketplace, but it wouldn't accept a 7.1 submission. I thought I would have had to redo everything.
This post saved me!
Update
posted by: Kate Brows on 8/28/2011 3:11:13 PM
UPDATE: In Mango Beta2 and RC You will also have to comment the following lines in the “WMAppManifest.xml” file;
<Capability Name="ID_CAP_ISV_CAMERA">
<Capability Name="ID_CAP_CONTACTS">
<Capability Name="ID_CAP_APPOINTMENTS">
Great post
posted by: Blake on 8/29/2012 6:21:57 PM
Thanks for the post. Helped me to fix a project that were I had upgraded the supporting assemblies first and then VS wouldn't open my application project (and would crash when I tried to load it).
Top Windows Phone Development Resources
- Windows 8 Development Guide
- Windows Phone Development Guide
- Windows Phone Toolkit In Depth e-Book
- WindowsPhoneGeek Developer Magazine
- Top Components for Windows Phone and Windows 8 app development
- 400+ Windows Phone Development articles in our Article Index
- PerfecTile, ImageTile Tools for Windows Phone and Windows 8
- Latest Windows Phone Development News & community posts
- Latest Windows 8/ WinRT Development News & comunity posts
- Windows Phone & Windows 8 Development Forums
Our Top Tips & Samples
- What's new in Windows Phone 8 SDK for developers
- Implementing in-app purchasing in Windows Phone 8
- All about Live Tiles in Windows Phone 8
- Send automated Email with attachments in Windows Phone
- All about the new Windows Phone 8 Location APIs
- Creating Spinning progress Animation in Windows Phone
- Getting started with Bluetooth in Windows Phone 8
- The New LongListSelector control in Windows Phone 8 SDK in depth
- Make money from Windows Phone: Paid or Free app, which strategy to choose
- Getting Started with the Coding4Fun toolkit ImageTile Control
- Building cross platform mobile apps with Windows Phone and PhoneGap/Cordova
- Windows Phone Pushpin Custom Tooltip: Different Techniques