<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://msmvps.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>@ Head : Bug</title><link>http://msmvps.com/blogs/bill/archive/tags/Bug/default.aspx</link><description>Tags: Bug</description><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP2 (Build: 40407.4157)</generator><item><title>String.IsNullOrEmpty : update on that nasty null reference exception</title><link>http://msmvps.com/blogs/bill/archive/2009/03/10/string-isnullorempty-update-on-that-nasty-null-reference-exception.aspx</link><pubDate>Tue, 10 Mar 2009 12:08:26 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1677289</guid><dc:creator>bill</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/bill/rsscomments.aspx?PostID=1677289</wfw:commentRss><comments>http://msmvps.com/blogs/bill/archive/2009/03/10/string-isnullorempty-update-on-that-nasty-null-reference-exception.aspx#comments</comments><description>&lt;p&gt;Back in April 2006, &lt;a href="http://msmvps.com/blogs/bill/archive/2006/04/04/89234.aspx" target="_blank"&gt;I blogged about a nasty JIT compiler optimisation&lt;/a&gt; that would cause String.IsNullOrEmpty to throw a null reference exception;&amp;#160; ironic really given that is the very thing you’d use the IsNullOrEmpty method to check against.&amp;#160; Well since then, due to popular demand on the connect site, this bug has been fixed in .NET 2.0 SP1 (which implies .NET 3.0 and 3.5)&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://msmvps.com/kb/940900/"&gt;&lt;em&gt;940900&lt;/em&gt;&lt;/a&gt;&lt;em&gt; (http://support.microsoft.com/kb/940900/ ) FIX: You receive the NullReferenceException exception when you call the String.IsNullOrEmpty function in an application that is built on the .NET Framework 2.0&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1677289" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/bill/archive/tags/VB/default.aspx">VB</category><category domain="http://msmvps.com/blogs/bill/archive/tags/Whidbey/default.aspx">Whidbey</category><category domain="http://msmvps.com/blogs/bill/archive/tags/Orcas/default.aspx">Orcas</category><category domain="http://msmvps.com/blogs/bill/archive/tags/VB10/default.aspx">VB10</category><category domain="http://msmvps.com/blogs/bill/archive/tags/VS2008/default.aspx">VS2008</category><category domain="http://msmvps.com/blogs/bill/archive/tags/Bug/default.aspx">Bug</category><category domain="http://msmvps.com/blogs/bill/archive/tags/CSharp/default.aspx">CSharp</category><category domain="http://msmvps.com/blogs/bill/archive/tags/.NET/default.aspx">.NET</category></item><item><title>Work around for MsChart 6.1.89.12 and 6.1.89.13 bug</title><link>http://msmvps.com/blogs/bill/archive/2009/01/23/work-around-for-mschart-6-1-89-12-and-6-1-89-13-bug.aspx</link><pubDate>Fri, 23 Jan 2009 03:06:01 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1664936</guid><dc:creator>bill</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/bill/rsscomments.aspx?PostID=1664936</wfw:commentRss><comments>http://msmvps.com/blogs/bill/archive/2009/01/23/work-around-for-mschart-6-1-89-12-and-6-1-89-13-bug.aspx#comments</comments><description>&lt;p&gt;Last month (December 2008), Microsoft released some security updates for VB6 components such as the MS Chart control&lt;/p&gt;  &lt;p&gt;The first update &lt;a href="http://support.microsoft.com/kb/932349"&gt;http://support.microsoft.com/kb/932349&lt;/a&gt; updates MS Chart to 6.1.98.12.&amp;#160; &lt;br /&gt;The second update &lt;a href="http://support.microsoft.com/kb/957924"&gt;http://support.microsoft.com/kb/957924&lt;/a&gt;&amp;#160; updates MSChart to 6.1.98.13.&lt;/p&gt;  &lt;p&gt;Both these versions have a serious bug that will crash the application or cause instability, the chart not to draw or display garbage strings on the screen.&amp;#160; &lt;/p&gt;  &lt;p&gt;The problem occurs if you display a DataPointLabel, eg:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Dim dpl As DataPointLabel     &lt;br /&gt;Set dpl = MSChart1.Plot.SeriesCollection.Item(1).DataPoints.Item(-1).DataPointLabel&lt;/p&gt;    &lt;p&gt;dpl.LocationType = VtChLabelLocationTypeAbovePoint     &lt;br /&gt;dpl.ValueFormat = &amp;quot;0.00&amp;quot;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;To work around this, add a manifest to your VB6 application, and copy the manifest and an earlier version of MSChart alongside your exe.&amp;#160; The manifest contents needed are: &lt;/p&gt;  &lt;blockquote&gt;   &lt;div style="font-size:11pt;background:#f1f3f2;color:black;font-family:consolas;"&gt;     &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color:#a31515;"&gt;xml&lt;/span&gt;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:#a60000;"&gt;version&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&lt;span style="color:#2d7bd2;"&gt;&amp;quot;1.0&amp;quot;&lt;/span&gt;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:#a60000;"&gt;encoding&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&lt;span style="color:#2d7bd2;"&gt;&amp;quot;UTF-8&amp;quot;&lt;/span&gt;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:#a60000;"&gt;standalone&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&lt;span style="color:#2d7bd2;"&gt;&amp;quot;yes&amp;quot;&lt;/span&gt;&lt;span style="color:blue;"&gt;?&amp;gt;&lt;/span&gt;&lt;/p&gt;      &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;assembly&lt;/span&gt;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:#a60000;"&gt;xmlns&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&lt;span style="color:#2d7bd2;"&gt;&amp;quot;urn:schemas-microsoft-com:asm.v1&amp;quot;&lt;/span&gt;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:#a60000;"&gt;manifestVersion&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&lt;span style="color:#2d7bd2;"&gt;&amp;quot;1.0&amp;quot;&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;      &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;assemblyIdentity&lt;/span&gt;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:#a60000;"&gt;name&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&lt;span style="color:#2d7bd2;"&gt;&amp;quot;&lt;strong&gt;&lt;em&gt;&lt;font color="#ad4ab5"&gt;Project1&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;#160; &lt;/span&gt;&lt;span style="color:#a60000;"&gt;version&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&lt;span style="color:#2d7bd2;"&gt;&amp;quot;&lt;strong&gt;&lt;em&gt;&lt;font color="#ad4ab5"&gt;1.0.0.0&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;&amp;quot;&lt;/span&gt;&lt;/p&gt;      &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#a60000;"&gt;processorArchitecture&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&lt;span style="color:#2d7bd2;"&gt;&amp;quot;X86&amp;quot;&lt;/span&gt;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:#a60000;"&gt;type&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&lt;span style="color:#2d7bd2;"&gt;&amp;quot;win32&amp;quot;&lt;/span&gt;&lt;span style="color:blue;"&gt; /&amp;gt;&lt;/span&gt;&lt;/p&gt;      &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;file&lt;/span&gt;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:#a60000;"&gt;name&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&lt;span style="color:#2d7bd2;"&gt;&amp;quot;mschrt20.ocx&amp;quot;&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;      &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;/span&gt;&lt;span style="color:#a31515;"&gt;comClass&lt;/span&gt;&lt;span style="color:blue;"&gt; &lt;/span&gt;&lt;span style="color:#a60000;"&gt;clsid&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&lt;span style="color:#2d7bd2;"&gt;&amp;quot;{3A2B370C-BA0A-11D1-B137-0000F8753F5D}&amp;quot;&lt;/span&gt;&lt;/p&gt;      &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#a60000;"&gt;tlbid&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&lt;span style="color:#2d7bd2;"&gt;&amp;quot;{65E121D4-0C60-11D2-A9FC-0000F8754DA1}&amp;quot;&lt;/span&gt;&lt;/p&gt;      &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#a60000;"&gt;progid&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&lt;span style="color:#2d7bd2;"&gt;&amp;quot;MSChart20Lib.MSChart.2&amp;quot;&lt;/span&gt;&lt;/p&gt;      &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="color:#a60000;"&gt;description&lt;/span&gt;&lt;span style="color:blue;"&gt;=&lt;/span&gt;&lt;span style="color:#2d7bd2;"&gt;&amp;quot;Microsoft Chart Control 6.0 (OLEDB)&amp;quot;&lt;/span&gt;&lt;span style="color:blue;"&gt; /&amp;gt;&lt;/span&gt;&lt;/p&gt;      &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160;&amp;#160; &amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;file&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;      &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#a31515;"&gt;assembly&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;   &lt;/div&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Save that with a .manifest extension, e.g. Project1.exe.manifest.&amp;#160; Make sure you replace the name and version attributes in the assemblyIdentity node with your application’s name and version.&amp;#160; &lt;/p&gt;  &lt;p&gt;Hopefully there will be a fix to fix the fix soon, but in the meanwhile use side-by-side (SxS) COM and an old version of the mschrt20.ocx to work around this new bug.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1664936" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/bill/archive/tags/VB/default.aspx">VB</category><category domain="http://msmvps.com/blogs/bill/archive/tags/Vista/default.aspx">Vista</category><category domain="http://msmvps.com/blogs/bill/archive/tags/Bug/default.aspx">Bug</category><category domain="http://msmvps.com/blogs/bill/archive/tags/XML/default.aspx">XML</category></item><item><title>VB.Net and splash screens</title><link>http://msmvps.com/blogs/bill/archive/2009/01/20/vb-net-and-splash-screens.aspx</link><pubDate>Tue, 20 Jan 2009 00:27:39 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1663420</guid><dc:creator>bill</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/bill/rsscomments.aspx?PostID=1663420</wfw:commentRss><comments>http://msmvps.com/blogs/bill/archive/2009/01/20/vb-net-and-splash-screens.aspx#comments</comments><description>&lt;p&gt;One of the nice things about the My application framework in VB.NET is the ability to easily show splash screens.&amp;#160; The splash screen is displayed using a separate thread and by default will close when your main form’s Load event is called. There is however a quirk with it &lt;em&gt;sometimes&lt;/em&gt;. &lt;/p&gt;  &lt;p&gt;Whilst testing, if I launched the application from Explorer, the splash screen would appear in front of the explorer window but the main form behind it.&amp;#160; When the splash screen closed, the main form didn’t come to the foreground.&amp;#160; This behaviour would depend on the system being tested and seems to only consistently show up when run from a VPC.&amp;#160; The fix for this is reasonably simple: you just need to call Activate in your main form’s Load event&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;div style="font-size:11pt;background:#f1f3f2;color:black;font-family:consolas;"&gt;   &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160; &lt;span style="color:#3092b1;"&gt;Private&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;Sub&lt;/span&gt; Me_Load(&lt;span style="color:#3092b1;"&gt;ByVal&lt;/span&gt; sender &lt;span style="color:#3092b1;"&gt;As&lt;/span&gt; Object, &lt;span style="color:#3092b1;"&gt;ByVal&lt;/span&gt; e &lt;span style="color:#3092b1;"&gt;As&lt;/span&gt; EventArgs) &lt;span style="color:#3092b1;"&gt;Handles&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;MyBase&lt;/span&gt;.Load&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#3092b1;"&gt;Me&lt;/span&gt;.Activate()&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160; &lt;span style="color:#3092b1;"&gt;End&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;Sub&lt;/span&gt;&lt;/p&gt; &lt;/div&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Kudos to &lt;a href="http://blogs.msdn.com/vbteam/" target="_blank"&gt;the VB team&lt;/a&gt; for the fix :)&lt;/p&gt;  &lt;p&gt;When the VB team suggested this fix to me, I could have sworn I had already tried that.&amp;#160; I had also looked into the my application framework code and saw it called Activate in it’s handler of the Load. So my first thoughts on it was it was a race condition, and hence I set up a single shot timer to call Activate, the timer being set to trigger a couple of hundred milliseconds after the load event.&amp;#160; At first I thought that fixed it, but that was the “sometimes” effect tricking me &amp;lt;g&amp;gt;&lt;/p&gt;  &lt;p&gt;Kevin from the VB team suggested I try Activate in the Load event, and sure enough it seems to work *&lt;strong&gt;ALL&lt;/strong&gt;* the time.&amp;#160; But this was even more puzzling as to why didn’t my timer approach work.&amp;#160; So I tried overriding the OnLoad method :&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;div style="font-size:11pt;background:#f1f3f2;color:black;font-family:consolas;"&gt;   &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160; &lt;span style="color:#3092b1;"&gt;Protected&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;Overrides&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;Sub&lt;/span&gt; OnLoad(&lt;span style="color:#3092b1;"&gt;ByVal&lt;/span&gt; e &lt;span style="color:#3092b1;"&gt;As&lt;/span&gt; EventArgs)&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#3092b1;"&gt;MyBase&lt;/span&gt;.OnLoad(e)&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#3092b1;"&gt;Me&lt;/span&gt;.Activate()&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160; &lt;span style="color:#3092b1;"&gt;End&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;Sub&lt;/span&gt;&lt;/p&gt; &lt;/div&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;That actually fails ( yes “sometimes”).&amp;#160; But if you change that to:&lt;/p&gt;  &lt;div style="font-size:11pt;background:#f1f3f2;color:black;font-family:consolas;"&gt;   &lt;p style="margin:0px;"&gt;&amp;#160;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; &lt;span style="color:#3092b1;"&gt;Protected&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;Overrides&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;Sub&lt;/span&gt; OnLoad(&lt;span style="color:#3092b1;"&gt;ByVal&lt;/span&gt; e &lt;span style="color:#3092b1;"&gt;As&lt;/span&gt; EventArgs)&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#3092b1;"&gt;Me&lt;/span&gt;.Activate()&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#3092b1;"&gt;MyBase&lt;/span&gt;.OnLoad(e)&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160; &lt;span style="color:#3092b1;"&gt;End&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;Sub&lt;/span&gt;&lt;/p&gt; &lt;/div&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Then it works. So the key is that Activate has to be called before the call to OnLoad completes.&amp;#160;&amp;#160; Suddenly the pieces of the puzzle all fit together.&amp;#160; &lt;/p&gt;  &lt;p&gt;What I think is happening is this: The my application framework hooks into the Load event and uses that to dispose of the splash screen. The problem occurs when the splash screen which has the UI input is closed before the call to Activate is made. Because the calling thread doesn’t have the UI Input, SetForeGround window doesn’t work.&amp;#160; Based on this hypothesis, I suggested a fix to the WindowsFormsApplicationBase.&amp;#160; Currently is has this method in it:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;div style="font-size:11pt;background:#f1f3f2;color:black;font-family:consolas;"&gt;   &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="background:#e6ffe6;color:green;"&gt;&amp;#39;&amp;#39;&amp;#39;************************************************************************** &lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="background:#e6ffe6;color:green;"&gt;&amp;#39;&amp;#39;&amp;#39; ;HideSplashScreen&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="background:#e6ffe6;color:green;"&gt;&amp;#39;&amp;#39;&amp;#39; &amp;lt;summary&amp;gt; &lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="background:#e6ffe6;color:green;"&gt;&amp;#39;&amp;#39;&amp;#39; Hide the splash screeen.&amp;#160; The splash screen was created on another thread so marshal &lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="background:#e6ffe6;color:green;"&gt;&amp;#39;&amp;#39;&amp;#39; the call over to it.&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="background:#e6ffe6;color:green;"&gt;&amp;#39;&amp;#39;&amp;#39; &amp;lt;/summary&amp;gt; &lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="background:#e6ffe6;color:green;"&gt;&amp;#39;&amp;#39;&amp;#39; &amp;lt;remarks&amp;gt;&amp;lt;/remarks&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;EditorBrowsable(EditorBrowsableState.Advanced)&amp;gt; &lt;span style="color:#3092b1;"&gt;Protected&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;Sub&lt;/span&gt; HideSplashScreen()&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#3092b1;"&gt;SyncLock&lt;/span&gt; m_SplashLock &lt;span style="background:#e6ffe6;color:green;"&gt;&amp;#39;We can get called from two threads at once&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#3092b1;"&gt;If&lt;/span&gt; m_SplashScreen &lt;span style="color:#3092b1;"&gt;IsNot&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;Nothing&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;AndAlso&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;Not&lt;/span&gt; m_SplashScreen.IsDisposed &lt;span style="color:#3092b1;"&gt;Then&lt;/span&gt; &lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#3092b1;"&gt;Dim&lt;/span&gt; TheBigGoodbye &lt;span style="color:#3092b1;"&gt;As&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;New&lt;/span&gt; DisposeDelegate(&lt;span style="color:#3092b1;"&gt;AddressOf&lt;/span&gt; m_SplashScreen.Dispose)&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; m_SplashScreen.Invoke(TheBigGoodbye) &lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; m_SplashScreen = &lt;span style="color:#3092b1;"&gt;Nothing&lt;/span&gt; &lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#3092b1;"&gt;End&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;If&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#3092b1;"&gt;If&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;Me&lt;/span&gt;.MainForm &lt;span style="color:#3092b1;"&gt;IsNot&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;Nothing&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;Then&lt;/span&gt; &lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#3092b1;"&gt;Call&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;New&lt;/span&gt; System.Security.Permissions.UIPermission(UIPermissionWindow.AllWindows).Assert()&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#3092b1;"&gt;Me&lt;/span&gt;.MainForm.Activate()&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; System.Security.PermissionSet.RevertAssert() &lt;span style="background:#e6ffe6;color:green;"&gt;&amp;#39;CLR also reverts if we throw or when we return from this function&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#3092b1;"&gt;End&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;If&lt;/span&gt; &lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#3092b1;"&gt;End&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;SyncLock&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#3092b1;"&gt;End&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;Sub&lt;/span&gt; &lt;/p&gt; &lt;/div&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;My suggestion is to activate the main form before disposing of the splash screen :&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;div style="font-size:11pt;background:#f1f3f2;color:black;font-family:consolas;"&gt;   &lt;p style="margin:0px;"&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="background:#e6ffe6;color:green;"&gt;&lt;/span&gt;&lt;/p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;EditorBrowsable(EditorBrowsableState.Advanced)&amp;gt; &lt;span style="color:#3092b1;"&gt;Protected&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;Sub&lt;/span&gt; HideSplashScreen()    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#3092b1;"&gt;SyncLock&lt;/span&gt; m_SplashLock &lt;span style="background:#e6ffe6;color:green;"&gt;&amp;#39;We can get called from two threads at once&lt;/span&gt;    &lt;p style="margin:0px;"&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:#3092b1;"&gt;&lt;/span&gt;&lt;/p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#3092b1;"&gt;If&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;Me&lt;/span&gt;.MainForm &lt;span style="color:#3092b1;"&gt;IsNot&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;Nothing&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;Then     &lt;br /&gt;&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#3092b1;"&gt;Call&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;New&lt;/span&gt; System.Security.Permissions.UIPermission(UIPermissionWindow.AllWindows).Assert()    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#3092b1;"&gt;Me&lt;/span&gt;.MainForm.Activate()&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; System.Security.PermissionSet.RevertAssert() &lt;span style="background:#e6ffe6;color:green;"&gt;&amp;#39;CLR also reverts if we throw or when we return from this function&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#3092b1;"&gt;End&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;If&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#3092b1;"&gt;If&lt;/span&gt; m_SplashScreen &lt;span style="color:#3092b1;"&gt;IsNot&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;Nothing&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;AndAlso&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;Not&lt;/span&gt; m_SplashScreen.IsDisposed &lt;span style="color:#3092b1;"&gt;Then&lt;/span&gt; &lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#3092b1;"&gt;Dim&lt;/span&gt; TheBigGoodbye &lt;span style="color:#3092b1;"&gt;As&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;New&lt;/span&gt; DisposeDelegate(&lt;span style="color:#3092b1;"&gt;AddressOf&lt;/span&gt; m_SplashScreen.Dispose)&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; m_SplashScreen.Invoke(TheBigGoodbye) &lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; m_SplashScreen = &lt;span style="color:#3092b1;"&gt;Nothing&lt;/span&gt; &lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#3092b1;"&gt;End&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;If&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#3092b1;"&gt;End&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;SyncLock&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#3092b1;"&gt;End&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;Sub&lt;/span&gt; &lt;/p&gt; &lt;/div&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Hopefully that will fix this issue completely. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;In the meanwhile, simply call Activate in your main form’s Load event :)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1663420" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/bill/archive/tags/VB/default.aspx">VB</category><category domain="http://msmvps.com/blogs/bill/archive/tags/VB10/default.aspx">VB10</category><category domain="http://msmvps.com/blogs/bill/archive/tags/VS2008/default.aspx">VS2008</category><category domain="http://msmvps.com/blogs/bill/archive/tags/Bug/default.aspx">Bug</category><category domain="http://msmvps.com/blogs/bill/archive/tags/.NET/default.aspx">.NET</category><category domain="http://msmvps.com/blogs/bill/archive/tags/VS+10/default.aspx">VS 10</category></item><item><title>Fixing explorer in Vista</title><link>http://msmvps.com/blogs/bill/archive/2008/02/16/fixing-explorer-in-vista.aspx</link><pubDate>Sat, 16 Feb 2008 01:55:32 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1515590</guid><dc:creator>bill</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/bill/rsscomments.aspx?PostID=1515590</wfw:commentRss><comments>http://msmvps.com/blogs/bill/archive/2008/02/16/fixing-explorer-in-vista.aspx#comments</comments><description>&lt;p&gt;One of the most annoying things I have found about Vista is the file explorer. It constantly changes the views of folders and way too often sets the columns in a folder as if the folder contains photos when it doesn&amp;#39;t.&amp;nbsp; To me that is really disappointing and undermines any confidence I could have in Microsoft producing a stable safe OS... the fundamental tasks an OS must do is work with hardware and manage files. If they can&amp;#39;t surface that with a stable UI then something seriously is wrong there.&amp;nbsp; I had hoped SP1 would fix the issue, alas it did not. But thanks to some MVPs I saw a link to a site that &lt;a href="http://www.vistax64.com/tutorials/70819-windows-explorer-folder-view-settings.html" target="_blank"&gt;suggested a registry tweak&lt;/a&gt; to fix the problem.. and it did :)&lt;br /&gt;&lt;br /&gt;The fix is to add this registry key:&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;Windows Registry Editor Version 5.00  &lt;p&gt;[HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\AllFolders\Shell]&lt;br /&gt;&amp;quot;FolderType&amp;quot;=&amp;quot;NotSpecified&amp;quot;&lt;/p&gt;&lt;/blockquote&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1515590" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/bill/archive/tags/Life/default.aspx">Life</category><category domain="http://msmvps.com/blogs/bill/archive/tags/Rant/default.aspx">Rant</category><category domain="http://msmvps.com/blogs/bill/archive/tags/Bug/default.aspx">Bug</category></item><item><title>More on XML Namespaces in VB....</title><link>http://msmvps.com/blogs/bill/archive/2007/12/09/more-on-xml-namespaces-in-vb.aspx</link><pubDate>Sun, 09 Dec 2007 13:20:24 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1388431</guid><dc:creator>bill</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/bill/rsscomments.aspx?PostID=1388431</wfw:commentRss><comments>http://msmvps.com/blogs/bill/archive/2007/12/09/more-on-xml-namespaces-in-vb.aspx#comments</comments><description>&lt;p&gt;A couple of weeks ago I wrote about XML Namespace issues in VB: one in particular was to do with &lt;a href="http://msmvps.com/blogs/bill/archive/2007/11/24/cleaning-up-your-xml-literal-namespaces.aspx" target="_blank"&gt;namespace declarations being repeated in the output X&lt;/a&gt;ML.&amp;nbsp; In those cases we only looked at common namespaces for the entire document.&lt;/p&gt; &lt;p&gt;However &lt;a href="http://msmvps.com/blogs/bill/archive/2007/12/09/right-tool-for-the-job.aspx" target="_blank"&gt;the example of creating a word document I posted earlier today&lt;/a&gt; raises a similar issue, but this time it&amp;#39;s with namespaces that are used in child elements not in the root element.&amp;nbsp; Previously, one suggested workaround was to Import namespaces, and use expression placeholders, but as the word document shows, this does not produce what is often the desirable outcome.&amp;nbsp; &lt;/p&gt; &lt;p&gt;The following simplified example demonstrates this:&lt;/p&gt; &lt;p&gt;- the goal of this exercise is to output the following XML:&lt;/p&gt; &lt;div style="font-size:11pt;background:#f1f3f2;color:black;font-family:consolas;"&gt; &lt;p style="margin:0px;"&gt;&lt;span style="color:#d6788f;"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;xml&lt;/span&gt; &lt;span style="color:#ca8a8a;"&gt;version&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;=&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;1.0&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;?&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;a:root&lt;/span&gt; &lt;span style="color:#ca8a8a;"&gt;xmlns:a&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;=&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;url:a&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:#ca8a8a;"&gt;xmlns:b&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;=&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;url:b&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;b:x&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;b:x&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;b:y&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;b:y&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;span style="color:#d6788f;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;a:root&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt; &lt;p&gt;The constraint is we want to create the x and y elements separately and insert them into the root element. .eg:&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;div style="font-size:11pt;background:#f1f3f2;color:black;font-family:consolas;"&gt; &lt;p style="margin:0px;"&gt;&lt;span style="color:#3092b1;"&gt;Imports&lt;/span&gt; &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;xmlns:a&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;=&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;url:a&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;span style="color:#3092b1;"&gt;Imports&lt;/span&gt; &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;xmlns:b&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;=&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;url:b&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;/p&gt; &lt;p style="margin:0px;"&gt;..... &lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;span style="color:#3092b1;"&gt;&amp;nbsp;&amp;nbsp; Dim&lt;/span&gt; el1 = &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;b:x&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;b:x&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color:#3092b1;"&gt;Dim&lt;/span&gt; el2 = &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;b:y&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;b:y&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color:#3092b1;"&gt;Dim&lt;/span&gt; doc = &lt;span style="color:#d6788f;"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;xml&lt;/span&gt; &lt;span style="color:#ca8a8a;"&gt;version&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;=&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;1.0&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;?&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;a:root&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background:#fffebf;color:#555555;"&gt;&amp;lt;%=&lt;/span&gt; el1 &lt;span style="background:#fffebf;color:#555555;"&gt;%&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background:#fffebf;color:#555555;"&gt;&amp;lt;%=&lt;/span&gt; el2 &lt;span style="background:#fffebf;color:#555555;"&gt;%&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;a:root&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;However that doesn&amp;#39;t work. The output for that repeats the namespace of the b.&lt;/p&gt; &lt;div style="font-size:11pt;background:#f1f3f2;color:black;font-family:consolas;"&gt; &lt;p style="margin:0px;"&gt;&lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;a:root&lt;/span&gt; &lt;span style="color:#ca8a8a;"&gt;xmlns:a&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;=&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;url:a&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;b:x&lt;/span&gt; &lt;strong&gt;&lt;span style="color:#ca8a8a;"&gt;xmlns:b&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;=&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;url:b&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;/strong&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;b:x&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;b:y&lt;/span&gt; &lt;strong&gt;&lt;span style="color:#ca8a8a;"&gt;xmlns:b&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;=&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;url:b&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;/strong&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;b:y&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;span style="color:#d6788f;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;a:root&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;So I thought I would try declaring the b namespace in the root element:&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;div style="font-size:11pt;background:#f1f3f2;color:black;font-family:consolas;"&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#3092b1;"&gt;Dim&lt;/span&gt; doc = &lt;span style="color:#d6788f;"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;xml&lt;/span&gt; &lt;span style="color:#ca8a8a;"&gt;version&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;=&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;1.0&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;?&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;a:root&lt;/span&gt; &lt;span style="color:#ca8a8a;"&gt;xmlns:b&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;=&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;url:b&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background:#fffebf;color:#555555;"&gt;&amp;lt;%=&lt;/span&gt; el1 &lt;span style="background:#fffebf;color:#555555;"&gt;%&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background:#fffebf;color:#555555;"&gt;&amp;lt;%=&lt;/span&gt; el2 &lt;span style="background:#fffebf;color:#555555;"&gt;%&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;a:root&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Now that works. That gives the correct output of :&lt;br /&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;a:root&lt;/span&gt; &lt;span style="color:#ca8a8a;"&gt;xmlns:a&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;=&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;url:a&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:#ca8a8a;"&gt;xmlns:b&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;=&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;url:b&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;b:x&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;b:x&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;b:y&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;b:y&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&lt;span style="color:#d6788f;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;a:root&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;br /&gt;But what is going on here you may ask ?&amp;nbsp; Why does this work ?&amp;nbsp; Well VB removes xmlns attributes from the added elements for any declarations that are used in the containing node. So the minimal fix to get my word document have the namespace declarations at the start requires the correct injection of namespaces to the parent they are added to.&amp;nbsp; For example :&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p style="font-size:11pt;background:#f1f3f2;margin:0px;color:black;font-family:consolas;"&gt;&amp;nbsp;&lt;span style="color:#3092b1;"&gt;Dim&lt;/span&gt; thirdParagraph = &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;w:p&lt;/span&gt;&lt;/p&gt; &lt;p style="font-size:11pt;background:#f1f3f2;margin:0px;color:black;font-family:consolas;"&gt;&lt;span style="color:#c2844b;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;nbsp;&lt;span style="color:#ca8a8a;"&gt;xmlns:dm&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;=&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;http://schemas.openxmlformats.org/drawingml/2006/main&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;/p&gt; &lt;p style="font-size:11pt;background:#f1f3f2;margin:0px;color:black;font-family:consolas;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#ca8a8a;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:wp&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;=&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;/p&gt; &lt;p style="font-size:11pt;background:#f1f3f2;margin:0px;color:black;font-family:consolas;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#ca8a8a;"&gt;xmlns:dp&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;=&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;http://schemas.openxmlformats.org/drawingml/2006/picture&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;/p&gt; &lt;p style="font-size:11pt;background:#f1f3f2;margin:0px;color:black;font-family:consolas;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#ca8a8a;"&gt;xmlns:r&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;=&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;http://schemas.openxmlformats.org/officeDocument/2006/relationships&lt;/span&gt;&lt;span style="color:#ca8a8a;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="font-size:11pt;background:#f1f3f2;margin:0px;color:black;font-family:consolas;"&gt;&lt;span style="color:#d6788f;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;w:r&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="background:#fffebf;color:#555555;"&gt;&amp;lt;%=&lt;/span&gt; drawing &lt;span style="background:#fffebf;color:#555555;"&gt;%&amp;gt;&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;w:r&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="font-size:11pt;background:#f1f3f2;margin:0px;color:black;font-family:consolas;"&gt;&lt;span style="color:#d6788f;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;w:p&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;I also had to re-declare 2 xml namespaces in the drawing variables; for the document I had to add 5. And that is in just a simple example.&amp;nbsp; What&amp;#39;s really annoying is those namespaces were Imported at the module level in the first place. It would have been nice to write that XML literal using the imported namespaces, e.g:&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p style="font-size:11pt;background:#f1f3f2;margin:0px;color:black;font-family:consolas;"&gt;&lt;span style="color:#3092b1;"&gt;Dim&lt;/span&gt; thirdParagraph = &lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;w:p &lt;span style="background:#fffebf;color:#555555;"&gt;&amp;lt;%=&lt;/span&gt; dm &lt;span style="background:#fffebf;color:#555555;"&gt;%&amp;gt;&lt;/span&gt;&lt;span style="background:#fffebf;color:#555555;"&gt;&amp;lt;%=&lt;/span&gt; wp &lt;span style="background:#fffebf;color:#555555;"&gt;%&amp;gt;&lt;/span&gt;&lt;span style="background:#fffebf;color:#555555;"&gt;&amp;lt;%=&lt;/span&gt; dp &lt;span style="background:#fffebf;color:#555555;"&gt;%&amp;gt;&lt;/span&gt;&lt;span style="background:#fffebf;color:#555555;"&gt;&amp;lt;%=&lt;/span&gt; r &lt;span style="background:#fffebf;color:#555555;"&gt;%&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="font-size:11pt;background:#f1f3f2;margin:0px;color:black;font-family:consolas;"&gt;&lt;span style="color:#d6788f;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;w:r&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="background:#fffebf;color:#555555;"&gt;&amp;lt;%=&lt;/span&gt; drawing &lt;span style="background:#fffebf;color:#555555;"&gt;%&amp;gt;&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;w:r&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="font-size:11pt;background:#f1f3f2;margin:0px;color:black;font-family:consolas;"&gt;&lt;span style="color:#d6788f;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/&lt;/span&gt;&lt;span style="color:#c2844b;"&gt;w:p&lt;/span&gt;&lt;span style="color:#d6788f;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Alas that doesn&amp;#39;t work.&amp;nbsp; Nor does and combination of GetXMLNamespace&amp;nbsp; that I could think of.&amp;nbsp; &lt;/p&gt; &lt;p&gt;In the need I decided it was a lot easier to just add the namespaces once to the root document and remove all of them from added elements, using a modified extension method.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;div style="font-size:11pt;background:#f1f3f2;color:black;font-family:consolas;"&gt; &lt;p style="margin:0px;"&gt; &amp;lt;Runtime.CompilerServices.Extension()&amp;gt; _&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;span style="color:#3092b1;"&gt;Function&lt;/span&gt; RemoveAllNS(&lt;span style="color:#3092b1;"&gt;ByVal&lt;/span&gt; el &lt;span style="color:#3092b1;"&gt;As&lt;/span&gt; XElement, &lt;span style="color:#3092b1;"&gt;Optional&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;ByVal&lt;/span&gt; includeChildNodes &lt;span style="color:#3092b1;"&gt;As&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;Boolean&lt;/span&gt; = &lt;span style="color:#3092b1;"&gt;False&lt;/span&gt;) &lt;span style="color:#3092b1;"&gt;As&lt;/span&gt; XElement&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#3092b1;"&gt;Dim&lt;/span&gt; current = el.LastAttribute&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#3092b1;"&gt;Do&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;While&lt;/span&gt; current &lt;span style="color:#3092b1;"&gt;IsNot&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;Nothing&lt;/span&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#3092b1;"&gt;Dim&lt;/span&gt; temp = current.PreviousAttribute&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#3092b1;"&gt;If&lt;/span&gt; current.IsNamespaceDeclaration &lt;span style="color:#3092b1;"&gt;Then&lt;/span&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; current.Remove()&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#3092b1;"&gt;End&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;If&lt;/span&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; current = temp&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#3092b1;"&gt;Loop&lt;/span&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#3092b1;"&gt;If&lt;/span&gt; includeChildNodes &lt;span style="color:#3092b1;"&gt;Then&lt;/span&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#3092b1;"&gt;For&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;Each&lt;/span&gt; child &lt;span style="color:#3092b1;"&gt;In&lt;/span&gt; el.Descendants&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RemoveAllNS(child)&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#3092b1;"&gt;Next&lt;/span&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#3092b1;"&gt;End&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;If&lt;/span&gt;&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#3092b1;"&gt;Return&lt;/span&gt; el&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color:#3092b1;"&gt;End&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;Function&lt;/span&gt;&lt;/p&gt;&lt;/div&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;It&amp;#39;s a shame this doesn&amp;#39;t work easier than this :(&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1388431" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/bill/archive/tags/VB/default.aspx">VB</category><category domain="http://msmvps.com/blogs/bill/archive/tags/Orcas/default.aspx">Orcas</category><category domain="http://msmvps.com/blogs/bill/archive/tags/LINQ/default.aspx">LINQ</category><category domain="http://msmvps.com/blogs/bill/archive/tags/Bug/default.aspx">Bug</category></item><item><title>Don't "p" on your XAttributes..</title><link>http://msmvps.com/blogs/bill/archive/2007/11/26/don-t-quot-p-quot-on-your-xattributes.aspx</link><pubDate>Mon, 26 Nov 2007 10:26:43 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1357605</guid><dc:creator>bill</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/bill/rsscomments.aspx?PostID=1357605</wfw:commentRss><comments>http://msmvps.com/blogs/bill/archive/2007/11/26/don-t-quot-p-quot-on-your-xattributes.aspx#comments</comments><description>&lt;p&gt;If you programmatically add attributes with namespaces to an XElement, when the XElement is written out it will give each attribute a namespace prefix and then define a xmlns for that prefix.&amp;nbsp; The way XElement does this is first it examines the namespaces already active and also those defined in the element for a match. If it doesn&amp;#39;t find a match, it then creates a new prefix based on the count of the current namespaces in scope, e.g p1, p2, p3,....pn.&lt;/p&gt; &lt;p&gt;Now sadly, although it did first scan for namespaces, it appears it doesn&amp;#39;t scan for prefixes in the current element *after* the current attribute. It does scan for previous declared prefixes, and will use one if the namespace matches. If the namespace doesn&amp;#39;t match but a prefix clashes with the proposed prefix, the prefix is added a 0, e.g p10, p20, ... pn0. If that one also clashes then the number will be increased e.g p11, p21, ... pn1. And so forth.&lt;/p&gt; &lt;p&gt;The problem is it doesn&amp;#39;t check for clashes inside the element it arbitrarily adds a namespace to. This code causes an exception due to the same attribute being named twice.&lt;/p&gt; &lt;div style="font-size:11pt;background:#f1f3f2;color:black;font-family:consolas;"&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp; &lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color:#3092b1;"&gt;Dim&lt;/span&gt; books = &lt;span style="color:#3092b1;"&gt;New&lt;/span&gt; XElement(&lt;span style="background:#feffea;color:#a31515;"&gt;&amp;quot;books&amp;quot;&lt;/span&gt;)&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp; books.Add(&lt;span style="color:#3092b1;"&gt;New&lt;/span&gt; XAttribute(&lt;span style="background:#feffea;color:#a31515;"&gt;&amp;quot;{abc}attrib1&amp;quot;&lt;/span&gt;, &lt;span style="background:#feffea;color:#a31515;"&gt;&amp;quot;one&amp;quot;&lt;/span&gt;))&lt;/p&gt; &lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp; books.Add(&lt;span style="color:#3092b1;"&gt;New&lt;/span&gt; XAttribute(XNamespace.Xmlns.GetName(&lt;span style="background:#feffea;color:#a31515;"&gt;&amp;quot;p1&amp;quot;&lt;/span&gt;), &lt;span style="background:#feffea;color:#a31515;"&gt;&amp;quot;zzz&amp;quot;&lt;/span&gt;))&lt;/p&gt;&lt;/div&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;The moral of the story is don&amp;#39;t use &amp;quot;pn&amp;quot; for your namespace prefixes. (where n is any integer). You end up potentially &amp;quot;p&amp;quot;ing on your code ;)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1357605" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/bill/archive/tags/VB/default.aspx">VB</category><category domain="http://msmvps.com/blogs/bill/archive/tags/Orcas/default.aspx">Orcas</category><category domain="http://msmvps.com/blogs/bill/archive/tags/LINQ/default.aspx">LINQ</category><category domain="http://msmvps.com/blogs/bill/archive/tags/VS2008/default.aspx">VS2008</category><category domain="http://msmvps.com/blogs/bill/archive/tags/Bug/default.aspx">Bug</category></item><item><title>XML namespace prefix 'xmlns' is not defined</title><link>http://msmvps.com/blogs/bill/archive/2007/11/25/xml-namespace-prefix-xmlns-is-not-defined.aspx</link><pubDate>Sat, 24 Nov 2007 14:58:27 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1352578</guid><dc:creator>bill</dc:creator><slash:comments>8</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/bill/rsscomments.aspx?PostID=1352578</wfw:commentRss><comments>http://msmvps.com/blogs/bill/archive/2007/11/25/xml-namespace-prefix-xmlns-is-not-defined.aspx#comments</comments><description>&lt;p&gt;When working with VB9 you may get this cryptic error :&lt;br /&gt;&lt;strong&gt;&lt;em&gt;XML namespace prefix &amp;#39;xmlns&amp;#39; is not defined&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;If you are using only default namespaces you can fix this by including a definition for the xmlns as an Import statement or as an xmlns attribute on the XML literal.&amp;nbsp; But if you are using prefixed namespaces imported at file level, then you must add an imports at project level via the project properties reference tab.&lt;/p&gt; &lt;p&gt;You have two choices:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Import System.Xml.Linq for the entire project, or&lt;/li&gt; &lt;li&gt;Import a namespace for the entire project&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;If you decide to import a namespace it can be any namespace at all.&amp;nbsp; I named one _do_not_use.&amp;nbsp; Problem is it will show up in XML axis properties in intellisense, but with a name like _do_not_use, that isn&amp;#39;t really a big problem. Of course you could add one that you might want to use.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="202" alt="imports" src="http://msmvps.com/blogs/bill/WindowsLiveWriter/XMLnamespaceprefixxmlnsisnotdefined_1BBB/imports_3.png" width="495" border="0" /&gt; &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;You may prefer to simply import System.Xml.Linq, but I thought I&amp;#39;d at least throw all the alternatives out there for you to decide what suits you best.&lt;/p&gt; &lt;p&gt;hopefully this is &lt;a href="http://msmvps.com/blogs/bill/archive/tags/Bug/default.aspx" target="_blank"&gt;another&lt;/a&gt; &lt;a href="http://msmvps.com/blogs/bill/archive/tags/Bug/default.aspx" target="_blank"&gt;bug&lt;/a&gt; that will make it into 2008 SP1 ;)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1352578" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/bill/archive/tags/VB/default.aspx">VB</category><category domain="http://msmvps.com/blogs/bill/archive/tags/Orcas/default.aspx">Orcas</category><category domain="http://msmvps.com/blogs/bill/archive/tags/DevCenter/default.aspx">DevCenter</category><category domain="http://msmvps.com/blogs/bill/archive/tags/VS2008/default.aspx">VS2008</category><category domain="http://msmvps.com/blogs/bill/archive/tags/Bug/default.aspx">Bug</category></item><item><title>Cleaning up your XML literal namespaces</title><link>http://msmvps.com/blogs/bill/archive/2007/11/24/cleaning-up-your-xml-literal-namespaces.aspx</link><pubDate>Sat, 24 Nov 2007 05:16:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1351614</guid><dc:creator>bill</dc:creator><slash:comments>11</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/bill/rsscomments.aspx?PostID=1351614</wfw:commentRss><comments>http://msmvps.com/blogs/bill/archive/2007/11/24/cleaning-up-your-xml-literal-namespaces.aspx#comments</comments><description>&lt;p&gt;If you use XML literals in your code, adding one to another:&lt;/p&gt;
&lt;p&gt;Dim e1 = &amp;lt;a:books&amp;gt;&amp;lt;/a:books&amp;gt;&lt;br /&gt;dim e2 = &amp;lt;a:book&amp;gt;&amp;lt;/a:book&amp;gt;&lt;br /&gt;e1.Add(e2)&lt;br /&gt;&lt;br /&gt;You will have the xmlns declaration repeated in each of the elements, when really it is only needed once per the document or outer element. The problem is caused by VB adding a xmlns declaration as an attribute to the root element. It can get a bit more complex if you have duplicate namespace declarations with different prefixes.&amp;nbsp; So I decided to write a &lt;strong&gt;CleanUpNS&lt;/strong&gt; extension, that keeps the xml written clean by removing un-necessary namespace declarations. To use it, simply add a call to CleanUpNS to the end of your literals, e.g:&lt;br /&gt;&lt;/p&gt;Dim e1 = &amp;lt;a:books&amp;gt;&amp;lt;/a:books&amp;gt;.CleanUpNS&lt;br /&gt;dim e2 = &amp;lt;a:book&amp;gt;&amp;lt;/a:book&amp;gt;.CleanUpNS&lt;br /&gt;e1.Add(e2) 
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style="FONT-SIZE:11pt;BACKGROUND:#f1f3f2;COLOR:black;FONT-FAMILY:consolas;"&gt;
&lt;p style="MARGIN:0px;"&gt;&amp;nbsp;&amp;nbsp; &amp;lt;Runtime.CompilerServices.Extension()&amp;gt; _&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&amp;nbsp;&lt;span style="COLOR:#3092b1;"&gt;Function&lt;/span&gt; CleanUpNS(&lt;span style="COLOR:#3092b1;"&gt;ByVal&lt;/span&gt; el &lt;span style="COLOR:#3092b1;"&gt;As&lt;/span&gt; XElement) &lt;span style="COLOR:#3092b1;"&gt;As&lt;/span&gt; XElement&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR:#3092b1;"&gt;Dim&lt;/span&gt; current = el.LastAttribute&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR:#3092b1;"&gt;Do&lt;/span&gt; &lt;span style="COLOR:#3092b1;"&gt;While&lt;/span&gt; current &lt;span style="COLOR:#3092b1;"&gt;IsNot&lt;/span&gt; &lt;span style="COLOR:#3092b1;"&gt;Nothing&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR:#3092b1;"&gt;Dim&lt;/span&gt; temp = current.PreviousAttribute&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR:#3092b1;"&gt;If&lt;/span&gt; current.IsNamespaceDeclaration &lt;span style="COLOR:#3092b1;"&gt;AndAlso&lt;/span&gt; el.Name.NamespaceName = current.Value &lt;span style="COLOR:#3092b1;"&gt;Then&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; current.Remove()&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR:#3092b1;"&gt;End&lt;/span&gt; &lt;span style="COLOR:#3092b1;"&gt;If&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; current = temp&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR:#3092b1;"&gt;Loop&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR:#3092b1;"&gt;Return&lt;/span&gt; el&lt;/p&gt;
&lt;p style="MARGIN:0px;"&gt;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR:#3092b1;"&gt;End&lt;/span&gt; &lt;span style="COLOR:#3092b1;"&gt;Function&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I go into more details about how this works and how the XML is stored and emitted in my January On VB article in &lt;a href="http://visualstudiomagazine.com/" target="_blank"&gt;Visual Studio Magazine&lt;/a&gt;.&amp;nbsp; &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1351614" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/bill/archive/tags/VB/default.aspx">VB</category><category domain="http://msmvps.com/blogs/bill/archive/tags/Orcas/default.aspx">Orcas</category><category domain="http://msmvps.com/blogs/bill/archive/tags/LINQ/default.aspx">LINQ</category><category domain="http://msmvps.com/blogs/bill/archive/tags/VSM/default.aspx">VSM</category><category domain="http://msmvps.com/blogs/bill/archive/tags/DevCenter/default.aspx">DevCenter</category><category domain="http://msmvps.com/blogs/bill/archive/tags/Bug/default.aspx">Bug</category></item><item><title>What a nasty compiler bug !!</title><link>http://msmvps.com/blogs/bill/archive/2007/11/21/what-a-nasty-compiler-bug.aspx</link><pubDate>Wed, 21 Nov 2007 01:15:40 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1343126</guid><dc:creator>bill</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/bill/rsscomments.aspx?PostID=1343126</wfw:commentRss><comments>http://msmvps.com/blogs/bill/archive/2007/11/21/what-a-nasty-compiler-bug.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://msmvps.com/blogs/kathleen/archive/2007/11/19/how-to-sidestep-a-visual-basic-compiler-bug-in-rtm.aspx" target="_blank"&gt;Kathleen has posted about a real nasty bug&lt;/a&gt; in the VB 9 (VB 2008) compiler. And I mean nasty !!&lt;/p&gt; &lt;p&gt;The compiler won&amp;#39;t warn you, won&amp;#39;t give an error of any sort.. it will just omit lines of code from your application !&amp;nbsp; Yep, it will compile as if nothing is wrong, yet it will remove your code !!&amp;nbsp; If you&amp;#39;re lucky, your test scenarios will pick up on this, otherwise expect the unexpected .&lt;/p&gt; &lt;p&gt;It&amp;#39;d be nice if the VB team would post about this and let us all know the exact scale of the problem and when a fix will be available.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1343126" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/bill/archive/tags/Rant/default.aspx">Rant</category><category domain="http://msmvps.com/blogs/bill/archive/tags/Orcas/default.aspx">Orcas</category><category domain="http://msmvps.com/blogs/bill/archive/tags/VB10/default.aspx">VB10</category><category domain="http://msmvps.com/blogs/bill/archive/tags/VS2008/default.aspx">VS2008</category><category domain="http://msmvps.com/blogs/bill/archive/tags/Bug/default.aspx">Bug</category></item><item><title>Bug in XML literals around the Imports keywords..</title><link>http://msmvps.com/blogs/bill/archive/2007/11/20/bug-in-xml-literals-around-the-imports-keywords.aspx</link><pubDate>Tue, 20 Nov 2007 08:22:06 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1338789</guid><dc:creator>bill</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/bill/rsscomments.aspx?PostID=1338789</wfw:commentRss><comments>http://msmvps.com/blogs/bill/archive/2007/11/20/bug-in-xml-literals-around-the-imports-keywords.aspx#comments</comments><description>&lt;p class="MsoNormal" style="margin-bottom:0pt;line-height:normal;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:consolas;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;In VB9, there&amp;#39;s a bug when using XML literals with any type member that is a protected keyword.&amp;nbsp; For example, given the following psuedo types,&lt;/p&gt; &lt;p class="MsoNormal" style="margin-bottom:0pt;line-height:normal;mso-layout-grid-align:none;"&gt;&lt;span style="color:#3092b1;font-family:consolas;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt; &lt;p class="MsoNormal" style="margin-bottom:0pt;line-height:normal;mso-layout-grid-align:none;"&gt;&lt;span style="color:#3092b1;font-family:consolas;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;Class&lt;/span&gt;&lt;span style="font-family:consolas;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt; Doc&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#3092b1;"&gt;Public&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;Property&lt;/span&gt; [Imports]() &lt;span style="color:#3092b1;"&gt;As&lt;/span&gt; List(&lt;span style="color:#3092b1;"&gt;Of&lt;/span&gt; DocImports)&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#3092b1;font-family:consolas;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;End&lt;/span&gt;&lt;span style="font-family:consolas;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt; &lt;span style="color:#3092b1;"&gt;Class&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#3092b1;font-family:consolas;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;Class&lt;/span&gt;&lt;span style="font-family:consolas;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt; DocImports&lt;br /&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:consolas;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#3092b1;"&gt;Public&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;Property&lt;/span&gt; [Namespace]() &lt;span style="color:#3092b1;"&gt;As&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;String&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size:11pt;color:#3092b1;line-height:115%;font-family:consolas;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-ansi-language:en-us;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;End&lt;/span&gt;&lt;span style="font-size:11pt;line-height:115%;font-family:consolas;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-ansi-language:en-us;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt; &lt;span style="color:#3092b1;"&gt;Class&lt;/span&gt;&lt;/span&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;The following code won&amp;#39;t compile:&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p class="MsoNormal" style="margin-bottom:0pt;line-height:normal;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:consolas;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="color:#3092b1;"&gt;Dim&lt;/span&gt; d &lt;span style="color:#3092b1;"&gt;As&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;New&lt;/span&gt; Doc&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="font-family:consolas;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="color:#3092b1;"&gt;Dim&lt;/span&gt; xml = &lt;span style="color:#6464b9;"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color:#844646;"&gt;xml&lt;/span&gt; &lt;span style="color:#b96464;"&gt;version&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;=&lt;/span&gt;&lt;span style="color:#555555;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;1.0&lt;/span&gt;&lt;span style="color:#555555;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:#b96464;"&gt;encoding&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;=&lt;/span&gt;&lt;span style="color:#555555;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;utf-8&lt;/span&gt;&lt;span style="color:#555555;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;?&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:consolas;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#844646;"&gt;Imports&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:consolas;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="background:yellow;color:#555555;mso-highlight:yellow;"&gt;&amp;lt;%=&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;From&lt;/span&gt; item &lt;span style="color:#3092b1;"&gt;In&lt;/span&gt; d.Imports&lt;/span&gt;&lt;span style="font-family:consolas;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt; _&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#3092b1;"&gt;Select&lt;/span&gt; &lt;span style="color:#6464b9;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#844646;"&gt;Import&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#844646;"&gt;Namespace&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;gt;&amp;lt;%=&lt;/span&gt; item.Namespace &lt;span style="background:yellow;color:#555555;mso-highlight:yellow;"&gt;%&amp;gt;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#844646;"&gt;Namespace&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#844646;"&gt;Import&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;gt;&lt;/span&gt; &lt;span style="background:yellow;color:#555555;mso-highlight:yellow;"&gt;%&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:11pt;line-height:115%;font-family:consolas;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-ansi-language:en-us;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#844646;"&gt;Imports&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;  &lt;p class="MsoNormal" style="margin-bottom:0pt;line-height:normal;mso-layout-grid-align:none;"&gt;&amp;nbsp;&lt;/p&gt; &lt;p class="MsoNormal" style="margin-bottom:0pt;line-height:normal;mso-layout-grid-align:none;"&gt;The trick is to escape the Imports property inside the the XML query:&lt;br /&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-family:consolas;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="color:#3092b1;"&gt;Dim&lt;/span&gt; xml = &lt;span style="color:#6464b9;"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color:#844646;"&gt;xml&lt;/span&gt; &lt;span style="color:#b96464;"&gt;version&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;=&lt;/span&gt;&lt;span style="color:#555555;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;1.0&lt;/span&gt;&lt;span style="color:#555555;"&gt;&amp;quot;&lt;/span&gt; &lt;span style="color:#b96464;"&gt;encoding&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;=&lt;/span&gt;&lt;span style="color:#555555;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;utf-8&lt;/span&gt;&lt;span style="color:#555555;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;?&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:consolas;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#844646;"&gt;Imports&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:consolas;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="background:yellow;color:#555555;mso-highlight:yellow;"&gt;&amp;lt;%=&lt;/span&gt; &lt;span style="color:#3092b1;"&gt;From&lt;/span&gt; item &lt;span style="color:#3092b1;"&gt;In&lt;/span&gt; d.[Imports]&lt;/span&gt;&lt;span style="font-family:consolas;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt; _&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:consolas;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#3092b1;"&gt;Select&lt;/span&gt; &lt;span style="color:#6464b9;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#844646;"&gt;Import&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#844646;"&gt;Namespace&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="background:yellow;color:#555555;mso-highlight:yellow;"&gt;&amp;lt;%=&lt;/span&gt; item.Namespace &lt;span style="background:yellow;color:#555555;mso-highlight:yellow;"&gt;%&amp;gt;&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#844646;"&gt;Namespace&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#844646;"&gt;Import&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;gt;&lt;/span&gt; &lt;span style="background:yellow;color:#555555;mso-highlight:yellow;"&gt;%&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:11pt;line-height:115%;font-family:consolas;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-no-proof:yes;mso-fareast-font-family:calibri;mso-fareast-theme-font:minor-latin;mso-ansi-language:en-us;mso-fareast-language:en-us;mso-bidi-language:ar-sa;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#844646;"&gt;Imports&lt;/span&gt;&lt;span style="color:#6464b9;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;This seems to only apply to some keywords, not all. Imports, Sub, Function all cause the problem, yet Class, Private and Namespace don&amp;#39;t.&amp;nbsp; One thing you&amp;#39;ll see is the &amp;lt;%= substitution block won&amp;#39;t get the characteristic highlight colour.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;And another quirk is if the property is called Option, VB will colour that as if it is a keyword even when it is a property such as stock.Option.&amp;nbsp; This one only seems to impact Option, and does not impact the actual compile, only code aesthetics ;)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1338789" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/bill/archive/tags/VB/default.aspx">VB</category><category domain="http://msmvps.com/blogs/bill/archive/tags/Orcas/default.aspx">Orcas</category><category domain="http://msmvps.com/blogs/bill/archive/tags/LINQ/default.aspx">LINQ</category><category domain="http://msmvps.com/blogs/bill/archive/tags/DevCenter/default.aspx">DevCenter</category><category domain="http://msmvps.com/blogs/bill/archive/tags/VS2008/default.aspx">VS2008</category><category domain="http://msmvps.com/blogs/bill/archive/tags/Bug/default.aspx">Bug</category></item></channel></rss>