Posted by  Programming  Add comments  Tagged with:
Apr 272009

My program was failing with MissingMethodException (Method not found: ‘Void System.Windows.Forms.FileDialog.set_AutoUpgradeEnabled(Boolean)’). This happened only on Windows XP and not all of them.

Culprit was obvious. I used OpenFileDialog and I decided to set AutoUpgradeEnabled property. Only problem was that this property was introduced with .NET Framework 2.0 SP1. Notice this service pack part – that property does not exist if you have version without it.

Solution is easy if you are trying setting this property to true – that is default value anyhow. If you want to set it to false, just use reflection:

var property = typeof(FileDialog).GetProperty("AutoUpgradeEnabled");
if (property != null) { property.SetValue(openFileDialog1, false, null); }

Notice that this property is shared among other controls inheriting from FileDialog (e.g. SaveFileDialog) so same thing applies to them also.

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

This site uses Akismet to reduce spam. Learn how your comment data is processed.