Microsoft have released a great utility for Windows Phone 7 - CapabilityDetection.exe. This was released with the Windows Phone Tools Update as reported in Peters' blog, and will scan your Windows Phone 7 project and determine what capabilities it actually uses.
It is a command line utility, and is documented here, and it will scan your project and report on the capabilities your WP7 program needs. It's a great tool, but not very intuitive, and I got it wrong the first time I used it. So, I decided to put a GUI front end on it, and make it available to the development community. You can download it from here. When you first run the program, you are presented with the following screen:-
Either enter the path to the location of the project output folder that contains your assemblies or uncompressed XAP file, or click on the 'Browse' button to browse for it.
Click on the 'Process' button, and the program will run the CapabilityDetection.exe in the background, and scan your project. When it is finished, it will post the results in the window, and give you instructions on what to do next.
Click on 'Clipboard' to copy the dependecies to the clipboard, and then open your project in Visual Studio and open the Application Manifest file (WMAppManifest.xml). Remove all the capabilities in the Capabilities element and add the required capabilities from the tool output by pasting them in.
Save your project, then compile and test it.
Any suggestions or problems, please let us know - firstname.lastname@example.org
Originally posted 2/Nov/2010