WCF, WPE, WPF Vista SDK - why why why...
When will I ever learn? I got frustrated with Ajax in Beta and swore on a full case of beer that I would never do a Beta or CTP anything ever again. What did I do?
I drank the beer of course which naturally clouded my judgement. And when the next day came and the case of beer I swore on never to do Beta again was obviously gone - another case of beer beckoned and it talked me into installing the WCF and whole .Net 3.0 beta / CTP stuff....
Note I merely installed it and the extensions for Visual Studio 2005. Why? Having been doing some work with a research group testing WCF I thought it was actually kinda performant and it provides a feature I really want - messaging. This way I can run a console application that displays the log entries from my web application in real time (yes, trace is nice but I want something actually color coded that gets my attention).
After the install, browsed my dev site and low and behold (and note again I have nothing .Net 3.0 included on my app I just installed the bits).
Server Error in '/SitesEasyTest' Application.
Could not load type 'System.ServiceModel.Diagnostics.TraceXPathNavigator' from assembly 'SMDiagnostics, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' due to value type mismatch.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.TypeLoadException: Could not load type 'System.ServiceModel.Diagnostics.TraceXPathNavigator' from assembly 'SMDiagnostics, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' due to value type mismatch.
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below. |
Stack Trace:
[TypeLoadException: Could not load type 'System.ServiceModel.Diagnostics.TraceXPathNavigator' from assembly 'SMDiagnostics, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' due to value type mismatch.]
System.ServiceModel.DiagnosticUtility.InitializeTracing() +0
System.ServiceModel.DiagnosticUtility..cctor() +92
[TypeInitializationException: The type initializer for 'System.ServiceModel.DiagnosticUtility' threw an exception.]
System.ServiceModel.DiagnosticUtility.ThunkAsyncCallback(AsyncCallback callback) +0
System.ServiceModel.Activation.HttpModule..cctor() +181
[TypeInitializationException: The type initializer for 'System.ServiceModel.Activation.HttpModule' threw an exception.]
[TargetInvocationException: Exception has been thrown by the target of an invocation.]
System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandle& ctor, Boolean& bNeedSecurityCheck) +0
System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean fillCache) +103
System.RuntimeType.CreateInstanceImpl(Boolean publicOnly, Boolean skipVisibilityChecks, Boolean fillCache) +261
System.Activator.CreateInstance(Type type, Boolean nonPublic) +66
System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes) +1036
System.Activator.CreateInstance(Type type, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes) +114
System.Web.Configuration.ModulesEntry.Create() +41
System.Web.Configuration.HttpModulesSection.CreateModules() +203
System.Web.HttpApplication.InitModules() +219
System.Web.HttpApplication.InitInternal(HttpContext context, HttpApplicationState state, MethodInfo[] handlers) +1251
System.Web.HttpApplicationFactory.GetNormalApplicationInstance(HttpContext context) +243
System.Web.HttpApplicationFactory.GetApplicationInstance(HttpContext context) +106
System.Web.HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr) +317
|
Sigh...
Three messages popped up on google search. None with a solution.
It is located in the Machine.Config
<section name="machineSettings" type="System.ServiceModel.Configuration.MachineSettingsSection, SMDiagnostics, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowDefinition="MachineOnly" allowExeDefinition="MachineOnly" />
Does changing the version number change the prognosis?
Absolutely not...
So what is the next step. Guess the assumption would be that previous Beta 2 installs when uninstalled didn't do it correctly. This is where I have a issue - what the @#$! is the importance (or why is there) a order to uninstall something. The whole .Net 3.0 is like 3 seperate installations to begin with. If all you want is WCF you still have to install the .Net 30 Windows Vista SDK (even if you do not have a Vista). For a company that market presence and the most talented developers around this kind of stuff should not even be tolerated in Beta builds whatever the labeling may disguise (CTP, RC etc..)...It's not like XP hasn't been around for 5 plus years and the installers already standardized. Honestly there is no reason for this kind of behavior for upgrading through Beta as the technology that underlies everything has been around way too long...
So I thought I would run the uninstaller off of Microsoft's here:
http://www.microsoft.com/downloads/thankyou.aspx?familyId=AAE7FC63-D405-4E13-909F-E85AA9E66146&displayLang=en
Shiver....
All was going well until a bunch of error messages started being displayed about SQL 2005. Now - considering all I did was install Visual Studio Extentions and the SDK what the heck is the uninstaller doing wanting to modify all of my SQL help files? Cancel Cancel Cancel - end result error in the uninstall and it - I guess- was not uninstalled.
So where now? My IIS site does not load now. All I get is unable to connect.
(oh, neato discovery - I guess. If you do a PRINT SCREEN (PrtSC) if you have dual monitors - it captures the whole two monitors worth of display...)
None the less (screen captures later...) Even with the errors on uninstall a IISRESET did get me back to being able to work on the application (without WCF). That concluded - 1 hour of uninstalling pre-requisites, 45 minutes of installing the new bits, and 1.3 hours of troubleshooting why I got the error message only not to find an actual solution. 30 minutes to run the uninstaller from the link. and 2 minutes to think "IISRESET" after the failed supposed master uninstall.
As the Soup Nazi would say if he was serving up technology "No WCF for you!"...