Andrew Arnott

News from my corner of the Visual Studio Project & Build team, programming tips, and solutions to common programming issues.

.NET Compact Framework 3.5 Power Toys RTW

The .NET Compact Framework 3.5 Power Toys have been released.  You can download them from here. Tools included in this package: Remote Performance Monitor and GC Heap Viewer – Provides real time counter data (ranging from Garbage Collector activity to type loading info) on a running NETCF application. The GC Heap Viewer feature allows you… Read more

My favorite Live Writer plug-ins

Disclaimer: some or all of these plug-ins are not Microsoft created or endorsed, and my pose a security risk by installing them without verifying their source. Paste From Console – automatically formats and colorizes text copied from a console window for easy viewing on your blog.  Paste from Visual Studio – pastes code copied from… Read more

Provisioning smart devices: an introduction

A lot of questions on the MSDN forums center around how to customize a device or an app to prefer a specific network connection over another.  The correct way to accomplish this is by “provisioning” the device.  In fact a great many aspects of the device and the applications on it can be configured through… Read more

Why .NET Compact Framework fails to call some HTTPS web servers

A bug was discovered recently in the .NET Compact Framework version 2.0 (SP2 and earlier) and 3.5 that causes HttpWebRequest’s directed at some HTTPS servers to fail with this error: (for web services) System.Net.WebException: Unable to read data from the transport connection. —> System.Net.Sockets.SocketException: Unknown error (0x0).    at System.Net.HttpWebRequest.fillBuffer(HttpWebRequest request, Connection connection, CoreResponseData data)… Read more

Trying out the iPhone

So I had the opportunity to try out the iPhone for a day.  Overall I was impressed, but there were some very basic features missing from many of the otherwise killer apps that I would greatly miss if I was to use the iPhone as my primary PDA and phone.  Here is a brief summary:… Read more

Workaround for XmlSerializer T[] and List<T> bug

The XmlSerializer in NetCF 2.0 has a bug where if a single serialization requires reflecting into types that use a mixture of Collection<T>-like types for the same T the XmlSerializer will throw an exception.  Here an example where CF 2.0 would crash: public class SerializingType1 { public string[] FirstNames; public List<string> PhoneNumbers; } This type… Read more

What do you think of the new WCF ‘Store and forward’ Mail Transport?

With the .NET Compact Framework 3.5 release which comes with Visual Studio 2008, a new Windows Communication Foundation transport is introduced that uses email as the communication mechanism. Others have already blogged about this new transport including Roman Batoukov and David Kline. I’d like to take a poll of the audience to see how you… Read more

Why wait for a Zune Phone? Smartphones are here now!

The iPhone was a hit, and people look to Microsoft to produce a ZunePhone in some future version of their Zune music player.  But I ask you, “Why?!”  What you may not be aware of is that Windows Smartphones already do everything that we hope ZunePhone will do.  Just check out this feature list: Music… Read more

Calling WCF services from NetCF 3.5 using Compact WCF and NetCFSvcUtil.exe

The .NET Compact Framework 3.5 adds a subset of the Windows Communication Foundation (WCF or “Indigo”) to smart devices, allowing them to communicate with desktop WCF components with all the flexibility of multiple, interchangeable service bindings and endpoints.  Although it ships out of the box only with support for message-level communication (no service calls, per… Read more

Power Toys for .NET Compact Framework 3.5 CTP released

The .NET Compact Framework team just released the Consumer Technology Preview (CTP) of the Power Toys for .NET Compact Framework 3.5.  These Power Toys are tools to help you build, debug and optimizie your NetCF 3.5 applications.  My personal favorite is the NetCF ServiceModel Metadata Tool (NetCFSvcUtil.exe) which allows NetCF clients to call web services… Read more