I installed the February CTP today in clean VPC session on my laptop. I’ve been having major issues in getting the SmartPhone features of Whidbey to work. I’m doing a SmartPhone session at DevTeach this year and I have one project I’m currently working on that can benefit from a SmartPhone front end. I have yet to get this going. Worse the Whidbey installs also hose the official shipping SDK so that won’t work either. I eventually had install the old SDK on a clean machine just so I can continue working.
This sucks big time. Again I’m amazed at this lack of version flexibility. Why is it that this stuff cannot rev cleanly in some way so that old and new can co-exist side by side. This is supposedly one of the big selling points of .NET but Microsoft seems to set the worst possible example in this respect with any updates to the framework.
So far I have not been able to get anything Smartphone to run on Whidbey. In the November CTP I was able to create and compile forms at least, but I was unable to debug either on the device itself or on the emulator.
After installing the Feb CTP the SmartPhone device emulators are actually hosing the entire VS.NET install it seems. Right on startup I get a string of dialog boxes that complain that the device definitions are not available. Not being sure exactly which devices the error message talk about I created a SmartPhone application project only to be greeted by the dreaded X’d out Winform designer that complains:
The system cannot find the file specified. (Exception from HRESULT: 0x80070002)
Hide
at Microsoft.VisualStudio.DeviceConnectivity.Interop.ConManClass.GetDatastore(UInt32 dwLocale)
at Microsoft.CompactFramework.Design.CcDataStoreHelper.get_DataStore()
at Microsoft.CompactFramework.Design.CcDataStoreHelper.get_Platform()
at Microsoft.CompactFramework.Design.CcDataStoreHelper.GetPlatformProperty(String propertyID)
at Microsoft.CompactFramework.Design.CcDataStoreHelper..ctor(String platformID, String ndpVersion, String managedPlatformID)
at Microsoft.CompactFramework.Design.DeviceContextServiceProvider.SetSite(String platformInvariantName, String managedPlatformID, String ndpVersion, Object globalprovider, Object olditemcontext)
at System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo)
at Microsoft.VisualStudio.NativeMethods.ThrowOnFailure(Int32 hr, Int32[] expectedHRFailure)
at Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.Initialize()
at System.ComponentModel.Design.Serialization.BasicDesignerLoader.BeginLoad(IDesignerLoaderHost host)
at System.ComponentModel.Design.DesignerHost.BeginLoad(DesignerLoader loader)
This is really disappointing. It seems silly that Microsoft is even including these features in the IDE if they’re non-functional at this point at time. This stuff has been non-functional all along and it seems to be getting worse rather than better where at this point you can’t use the designers at all.
Along the same lines I had somebody from Microsoft actually contact me and outright saying that in last CTPs the SDKs are non-functional. Why the heck does it not say something about that in the release notes so we don’t waste our time even looking at this stuff?