Stupid Code To The Rescue!
secretGeek .:dotnuts about dotnet:.
home .: about .: sign up .: sitemap .: secretGeek RSS

Stupid Code To The Rescue!

A big dose of .NetFrustration this morning.

When you upgrade an assembly from version 1.0 to version 1.1 you are likely to get a lot of squiggley blue lines and warnings such as:

OR:

OR worse yet:

Google turned up blank, MSDN turned up blank, but I finally got rid of the warnings, by writing stupid code.

(Read on for some dodgy solutions and some stern lectures. :+))




(Comments disabled due to spam)



'Dan F' on Sun, 15 Jan 2006 19:22:43 GMT, writes:

Almost 2 years on, and this post is still going strong. You're the number one google hit for "you should pass xmlresolver" (with quotes). How spesh do you feel :)

Thanks Leon!

URL: http://www.redgum.com.au



'harveysburger' on Sat, 12 Nov 2005 20:08:34 GMT, writes:

thanks for this easy fix :)

thats hilarious...
, nothing, nothing....



'ricpue@hotmail.com' on Sat, 12 Feb 2005 19:57:06 GMT, writes:

Funny and good.



'secretGeek' on Wed, 06 Oct 2004 20:43:09 GMT, writes:

cheers Farhan!

and Thrain: i'm glad to know that this post is helping the peoples of middle earth.

URL: http://secretGeek.net



'Thraïn' on Wed, 06 Oct 2004 10:31:05 GMT, writes:

Leon,

My search for a solution for the same problems ended after 3 hours with your post. Thank you so much!


Greetings



'Farhan Ahmad' on Sun, 26 Sep 2004 23:51:13 GMT, writes:

Hey Leon,

Thanks for this post! It saved me quite some time and frustration!


Thanks!

URL: http://www.farhan-ahmad.net



'secretGeek' on Mon, 26 Apr 2004 05:58:06 GMT, writes:

Thanks Kathleen! I agree that they should make old methods obsolete -- but I think that the documentation they provide for these upgrades is quite poorly thought out.

The comment 'You should pass XmlResolver to Transform()' (for example) is a redundant comment, since the intellisense will show you that an XmlResolver parameter is now required. What I think the upgrade comments should do is point you toward documentation that explains:

Why the change was made.
How to cater for the change (giving practical examples).
What benefits you will get from making this upgrade.

Generally the comments they choose to include just have a statement like 'Hey, don't use this, use that instead' -- in this era of secure computing we're expected to know what we're coding and why -- not just to blindly follow. SO i think this is one little area where microsoft could pay more attention to the needs of developers.

For example, looking up what an XmlResolver is didn't do anything to tell me why it was previously unimportant but now is important. Clearly there's a design design they've made under the covers -- but there's no clue as to what it is. Okay, my XmlDocument didn't have any external references that needed to be resolved -- so a resolver of nothing seemed fine. But it felt wrong -- they've chosen to include it for a reason I guess, so i felt like there was something I was missing.

Having said that, i do think that MS generally do an excellent job of looking after developers -- this just seems to be a chink in the armour. A place where the developers are taking shortcuts and noone is stopping them.

cheers
lb

URL: http://secretGeek.net



'Kathleen Dollard' on Sat, 24 Apr 2004 23:02:22 GMT, writes:

I know this looks stupid, but I think there's some logical reason behind this. The new parameters are important, quite important in a few scenarios. If they had not made the old ones obsolete, there would have been a gazillion and you were forced to look at this issue. I actaully investigated what the resolvers were before making the same changes a year ago.

While the CType(Nothing, whatever) approach feels like a hack, it appears to be the appropriate way to resolve overloads anytime Nothing is confusing the issue.



Back to Stupid Code To The Rescue!

Articles

Alan Kay on 'The Camel has Two Humps' Alan Kay on 'The Camel has Two Humps'
is the music inside the piano? is the music inside the piano?
The Bluffer's Guide To Yegge: Business Requirements R Bullsh*t The Bluffer's Guide To Yegge: Business Requirements R Bullsh*t
Prototype Ready for Launch Prototype Ready for Launch
Idea: a poor man's eye-tracking heatmap for win forms Idea: a poor man's eye-tracking heatmap for win forms
'The Register' seems to have plagiarised Mary Jo Foley 'The Register' seems to have plagiarised Mary Jo Foley
A magic goal for software businesses A magic goal for software businesses
A to Z of Software Methodologies A to Z of Software Methodologies
TimeSnapper in Music! TimeSnapper in Music!
Fixing problems can give you a glimpse of something terrible Fixing problems can give you a glimpse of something terrible
Web Tablet: Toward Less Complexity Web Tablet: Toward Less Complexity
Do they store the code for TFS in TFS? Do they store the code for TFS in TFS?
Sudden TimeSnapper Discount! Sudden TimeSnapper Discount!
How Can Microsoft Beat Google? How Can Microsoft Beat Google?
TimeSnapper 3.1: Attack of the the Red/Green Stripes TimeSnapper 3.1: Attack of the the Red/Green Stripes
21 tools used in our MicroISV 21 tools used in our MicroISV
Lost Treasures of the DOS World: tree! Lost Treasures of the DOS World: tree!
The Virtual Machine Machine and the Virtual Virtual Machine The Virtual Machine Machine and the Virtual Virtual Machine
Should Linq To Sql Go Should Linq To Sql Go "Open Source"?
Redux: New Synchronisation Idea Overlooked By Microsoft Redux: New Synchronisation Idea Overlooked By Microsoft
New Synchronisation Idea Overlooked By Microsoft Live team New Synchronisation Idea Overlooked By Microsoft Live team
Visual Studio UX Taskforce, Office UX Taskforce... etc. Visual Studio UX Taskforce, Office UX Taskforce... etc.
How to be Jeff Atwood How to be Jeff Atwood

Archives .: secretGeek :: Complete Archives :.
25 steps for building a Micro-ISV 25 steps for building a Micro-ISV
3 minute guides -- babysteps in new technologies: powershell, JSON, watir, F# 3 Minute Guide Series
Top 10 SecretGeek articles Top 10 SecretGeek articles

Downloads

TimeSnapper -- Automated Screenshot Journal TimeSnapper.com    
Version 3.1: instant productivity profiles

ShinyPower (help with Powershell) ShinyPower
Now at CodePlex

Next Action NextAction
Managing the top of your mind



[powered by Google] 


World's Simplest Code Generator (html edition) World's Simplest Code Generator
Gradient Maker -- a tool for making background images that blend from one colour to another. Forget photoshop, this is the bomb. Gradient Maker
How to be depressed How to be depressed
You are not inadequate.



Recommended Reading

The Best Software Writing I
The Business Of Software (Eric Sink)

Recommended blogs

Jeff Atwood
Reginald Braithwaite
Joseph Cooney
Phil Haack
Scott Hanselman
Julia Lerman
Joel Pobar
Eric Sink
Joel Spolsky
Des Traynor

Aggregated Links

programming.reddit.com
dzone
dot net kicks

Human Link Machines

interesting finds
a continuous learner's weblog
arjan's world
n links today
new and notable
morning coffee
learning .net
weekly link post
(my del.icio.us account)

LinkedIn profile
 
home .: about .: sign up .: sitemap .: secretGeek RSS .: © Leon Bambrick 2003 .: privacy

home .: about .: sign up .: sitemap .: RSS .: © Leon Bambrick 2003 .: privacy