In the recent past I have read deployment problems reported by users
in smart device development forums. It was my observation that
majority of the issues reported do not contain enough information to
troubleshoot the problem. This will result in few email exchanges
back-and-forth which is frustrating to both the parties involved. It is
like suggesting a solution based on the symptoms described by the user.
The same symptom could be caused by multiple reasons and to zero-in on a
cause one has to perform additional tests. Since we will not have
access to user's machine, there are few things that users can try out to
troubleshoot the deployment problem.
1. Try to identify in which phase of F5 the failure has occurred
Those who read my first blog post on deployment essential might
recall that F5 = Build + Connect To Device + Deploy + Debug Launch.
Most users press F5 and in some cases based on the error message it may
not be possible to identify the phase in which F5 has failed. Trying
out the individual operations that make up F5 will let us narrow down
the phase.
- Build failures are the result of compiler/linker errors.
- One can check whether connection to device/emulator is successful, by choosing "Tools->Connect To Device".
- To check any error encountered during deployment phase choose "Build->Deploy Solution".
- To debug launch the application, press F5 after performing the above three steps.
2. Few things to check if connectivity to device has failed
- Activesync 4.0 is installed if connecting over AS
- Device security configuration allows development with VS.
Please read my blog post on deployment essentials part II for more
details. https://blogs.msdn.com/sivarv/archive/2005/09/20/471863.aspx
- If TCP is the transport chosen for emulator, make sure that NE2000 network adapter is enabled
- Whether specific to an emulator or a device? Try a couple of emulator or devices if at hand.
- Whether launch of emulator has failed. In some cases deleting emulator local saved states solves the problem.
- Some times soft resetting the device will solve the problem.
3. Few things to check if failure has occured during deployment phase
- Device has enough free space
- In case of native projects, dependent dlls are in "\windows" directory
- In case of managed projects, NetCF installastion will fail if cab installer (wceload.exe) is missing on the device
- Make sure that a previous instance of app is not running. This
will result in deployment failure with sharing violation. Running
app could be killed using remote process viewer.
- Whether specific to an emulator or a device
4. Few thigs to try if debug launch has failed
- Just launching the app instead of debug lauching. This can be done by pressing Ctrl+F5.
- If Ctrl+F5 too fails, try to launch the app manually on device/emulator
- In case of native projects, make sure that project target platform/cpu and connected device match.
- Code signing might be required in some cases particularly with
Smartphone. Please read my blog post on deployment essentials part II
for more details.
- Whether specific to an emulator or a device?
5. What if you had tried all of the above and still have no clue to troubleshoot the problem?
Send a mail to smart device development forum describing the problem you are facing along with the following details
- Version of VS (could be found by choosing "Help->About")
- Whether previously had a older version of VS2005 and upgraded to RTM
- Whether using VS2003 and VS2005 side by side
- Project type and any specific project properties (un)set
- At what phase of F5 the failure has occurred and the things you tried.
- Whether the problem is specific to an emulator or a device
- Whether the problem is specific to a project type or with all
projects. For example, the problem could be reproduced only with
managed projects and not with native etc.
This will greatly help in quickly identifying the cause of a problem.
阅读(777) | 评论(0) | 转发(0) |