<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.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>Goto 100  - Development with Visual Basic : Visual Basic 2008</title><link>http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+2008/default.aspx</link><description>Tags: Visual Basic 2008</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Composite Application guidance for WPF and Silverlight gets a lick of Visual Basic paint</title><link>http://blogs.msdn.com/goto100/archive/2009/03/30/composite-application-guidance-for-wpf-and-silverlight-gets-a-lick-of-visual-basic-paint.aspx</link><pubDate>Mon, 30 Mar 2009 18:41:17 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9519280</guid><dc:creator>Eric Nelson</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/goto100/comments/9519280.aspx</comments><wfw:commentRss>http://blogs.msdn.com/goto100/commentrss.aspx?PostID=9519280</wfw:commentRss><description>&lt;p&gt;The Microsoft Patterns &amp;amp; Practices’ &lt;a href="http://compositewpf.codeplex.com/" target="_blank"&gt;Composite Application Guidance for WPF and Silverlight&lt;/a&gt; (formerly code-named &amp;quot;Prism&amp;quot;) was released with a heavy bias on C# which was a real shame for the many Visual Basic developers who are working on Xaml based user interfaces right now. The good news is there is now a shiny &lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=537da1cd-43e1-4799-88e7-a1da9166fb46" target="_blank"&gt;new download just for Visual Basic&lt;/a&gt; folks.&lt;/p&gt;  &lt;p&gt;This download includes QuickStarts, Hands-On Labs, and How-to Topics in Visual Basic all reviewed by senior folks in the VB team. It also includes: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Composite Application Guidance for WPF and Silverlight - February 2009.chm: Complete documentation in C#. &lt;/li&gt;    &lt;li&gt;Composite Application Library Reference February 2009.chm: Library reference API. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Which in summary means we don’t yet have a 100% VB focused version but we just took a significant step in the right direction. &lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9519280" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+.NET/default.aspx">Visual Basic .NET</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+2008/default.aspx">Visual Basic 2008</category></item><item><title>A mocking framework especially designed for Visual Basic .NET</title><link>http://blogs.msdn.com/goto100/archive/2009/02/05/a-mocking-framework-especially-designed-for-visual-basic-net.aspx</link><pubDate>Thu, 05 Feb 2009 16:58:52 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9398533</guid><dc:creator>Eric Nelson</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/goto100/comments/9398533.aspx</comments><wfw:commentRss>http://blogs.msdn.com/goto100/commentrss.aspx?PostID=9398533</wfw:commentRss><description>&lt;p&gt;I was pleased to see the Typemock folks have delivered a special &lt;a href="http://www.typemock.com/vbpage.php"&gt;VB.NET API to use Typemock 5.2&lt;/a&gt; for unit testing. This handles the differences in VB9 vs C# 3.0 around Lambdas (VB9 is restricted to functions where as C# 3.0 can handle statement lambdas – this will be resolved in VB10 aka Visual Basic 2010).&lt;/p&gt;  &lt;p&gt;There are three related blog posts which did into this:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://blog.typemock.com/2009/01/isolator-new-vbnet-friendly-api.html"&gt;Overview&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a title="Isolator&amp;#39;s VB API - Creating Fakes" href="http://blog.typemock.com/2009/01/isolator-vb-api-creating-fakes.html"&gt;Isolator's VB API - Creating Fakes&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a title="Isolator&amp;#39;s VB API - Setting Behavior and Assertion" href="http://blog.typemock.com/2009/01/isolator-vb-api-setting-behavior-and.html"&gt;Isolator's VB API - Setting Behavior and Assertion&lt;/a&gt;&amp;#160;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;I am keen to dig into mocking some more over the next couple of months. Typemock is one such tool but I also need to (minimally) check out &lt;a href="http://ayende.com/projects/rhino-mocks.aspx"&gt;Rhino.Mocks&lt;/a&gt; and &lt;a href="http://code.google.com/p/moq/"&gt;Moq&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;You might also want to check out these short screencasts:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.typemock.com/Multimedia.html#identifier1"&gt;Introduction to TypeMock&lt;/a&gt; (One of a series)&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.dimecasts.net/Casts/CastDetails/12"&gt;Mocking with Rhino.Mocks&lt;/a&gt; (There are a couple of others also on dimecasts)&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.dimecasts.net/Casts/CastDetails/8"&gt;Mocking with Moq&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9398533" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+.NET/default.aspx">Visual Basic .NET</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+2008/default.aspx">Visual Basic 2008</category><category domain="http://blogs.msdn.com/goto100/archive/tags/DevCenter/default.aspx">DevCenter</category></item><item><title>New article on extending VB6.0 applications with the Interop Forms Toolkit 2.0</title><link>http://blogs.msdn.com/goto100/archive/2009/02/05/new-article-on-extending-vb6-0-applications-with-the-interop-forms-toolkit-2-0.aspx</link><pubDate>Thu, 05 Feb 2009 16:24:32 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9398438</guid><dc:creator>Eric Nelson</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/goto100/comments/9398438.aspx</comments><wfw:commentRss>http://blogs.msdn.com/goto100/commentrss.aspx?PostID=9398438</wfw:commentRss><description>&lt;p&gt;I just wanted to swiftly share some useful links if you choose to extend a Visual Basic 6.0 application including a new article I commissioned in the UK – which turned out rather good.&lt;/p&gt;  &lt;p&gt;Firstly links to the toolkit download and some of the best existing articles.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;The &lt;a href="http://msdn.microsoft.com/en-us/vbasic/bb419144.aspx"&gt;Interop Forms Toolkit 2.0&lt;/a&gt; which you need to download&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.codeproject.com/KB/vb-interop/VB6InteropToolkit2.aspx"&gt;Interop Forms Toolkit 2.0 Tutorial&lt;/a&gt; on Code Project which includes an example of using a WPF control inside a Windows Form as part of a Visual Basic 6.0 application&lt;/li&gt;    &lt;li&gt;&lt;a href="http://weblogs.foxite.com/bernardbout/archive/2007/06/20/4126.aspx"&gt;Using the Toolkit with Visual Foxpro&lt;/a&gt; – yep, you can use the toolkit with VFP9&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.codeproject.com/KB/dotnet/VB6_-_C__Interop_Form.aspx"&gt;Using C# with the Interop Forms Toolkit&lt;/a&gt; and useful &lt;a href="http://blogs.msdn.com/vbteam/archive/2007/06/01/so-what-does-lt-comclass-gt-actually-do.aspx"&gt;blog post from the team&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Which leads me to the &lt;a href="http://download.microsoft.com/documents/uk/msdn/vb6/Interop_Toolkit_Whitepaper.pdf"&gt;new article&lt;/a&gt; on using the Interop Forms Toolkit. This is a detailed, code heavy look at using the Interop Forms Toolkit which we are getting some great feedback on.&lt;/p&gt;  &lt;p&gt;It covers:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Installation and setup&lt;/li&gt;    &lt;li&gt;Interop Forms&lt;/li&gt;    &lt;li&gt;Interop UserControls&lt;/li&gt;    &lt;li&gt;Sharing data between managed and unmanaged code&lt;/li&gt;    &lt;li&gt;Debugging&lt;/li&gt;    &lt;li&gt;Deployment&lt;/li&gt;    &lt;li&gt;And recommendations on using it&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Enjoy.&lt;/p&gt;  &lt;p&gt;P.S.&amp;#160; I must admit I have never liked the name of this kit as it doesn’t really describe what it does - IMHO. I therefore often describe it as &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;&lt;em&gt;The Add VB.NET Forms and Controls to your VB6 Application Toolkit&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;However that does it a disservice. It is broader than that. How about &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;&lt;em&gt;The Add VB.NET or C# Forms and Controls to your VB6 Application Toolkit&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Or even more descriptively&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;&lt;em&gt;The Add VB.NET or C# Forms and Controls to your VB6 or VFP9 Application Toolkit&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Or&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;&lt;em&gt;The Add .NET Forms and Controls written in any .NET language to any COM based Application but it is much easier to use for VB6 and VB.NET Toolkit &lt;/em&gt;&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Ok I give in, Interop Forms Toolkit 2.0 it is :-)&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9398438" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+6/default.aspx">Visual Basic 6</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+.NET/default.aspx">Visual Basic .NET</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Interop/default.aspx">Interop</category><category domain="http://blogs.msdn.com/goto100/archive/tags/UK/default.aspx">UK</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+2008/default.aspx">Visual Basic 2008</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+2005/default.aspx">Visual Basic 2005</category><category domain="http://blogs.msdn.com/goto100/archive/tags/DevCenter/default.aspx">DevCenter</category></item><item><title>Secure your Visual Basic 6.0 investment with Microsoft .NET</title><link>http://blogs.msdn.com/goto100/archive/2009/01/28/secure-your-visual-basic-6-0-investment-with-microsoft-net.aspx</link><pubDate>Wed, 28 Jan 2009 23:36:16 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9381745</guid><dc:creator>Eric Nelson</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/goto100/comments/9381745.aspx</comments><wfw:commentRss>http://blogs.msdn.com/goto100/commentrss.aspx?PostID=9381745</wfw:commentRss><description>&lt;p&gt;[This is currently a UK only initiative but you will still find a lot of useful information on the new site and I know our partners are happy to engage worldwide]&lt;/p&gt;  &lt;p&gt;Over the last couple of months I have been working with Sarah in my group to pull together something which hopefully will help the many companies in the UK who continue to have a significant investment in Visual Basic 6.0&amp;#160; - and we did it with virtually no budget thanks to some great help and encouragement from &lt;a href="http://www.artinsoft.com/"&gt;Artinsoft&lt;/a&gt;, &lt;a href="http://www.vbmigration.com/"&gt;Code Architects&lt;/a&gt; and Avanade. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-gb/dd408373.aspx"&gt;Check out what we created&lt;/a&gt; if you are based in the United Kingdom and still have Visual Basic 6.0 applications running your company. Some of the highlights:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;A great prize draw to win a free copy of a migration tool from Artinsoft or Code Architects (We have several to give away) &lt;/li&gt;    &lt;li&gt;Great offers from our partners. How about a entry level great migration tool for just £199 or 25% off a full blown enterprise class tool &lt;/li&gt;    &lt;li&gt;An attempt to summarise the five options you can take along with a 10 minute screencast by myself explaining the five options (and you can tell I had a cold when I recorded it!) &lt;/li&gt;    &lt;li&gt;Links to the best resources to find out more &lt;/li&gt;    &lt;li&gt;And a a brand new detailed article on the Interop Forms Toolkit which enables .NET forms and controls to be easily mixed with Visual Basic 6.0 forms and controls. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;P.S. The web page does have one or two “bugs” – but we will get them fixed on the next refresh.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9381745" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+6/default.aspx">Visual Basic 6</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+.NET/default.aspx">Visual Basic .NET</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Interop/default.aspx">Interop</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Migration/default.aspx">Migration</category><category domain="http://blogs.msdn.com/goto100/archive/tags/UK/default.aspx">UK</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+2008/default.aspx">Visual Basic 2008</category><category domain="http://blogs.msdn.com/goto100/archive/tags/DevCenter/default.aspx">DevCenter</category></item><item><title>Anybody for some free (and clever!) Visual Basic 2008 training?</title><link>http://blogs.msdn.com/goto100/archive/2008/12/18/anybody-for-some-free-and-clever-visual-basic-2008-training.aspx</link><pubDate>Thu, 18 Dec 2008 11:00:59 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9235061</guid><dc:creator>Eric Nelson</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/goto100/comments/9235061.aspx</comments><wfw:commentRss>http://blogs.msdn.com/goto100/commentrss.aspx?PostID=9235061</wfw:commentRss><description>&lt;p&gt;In the UK we are working with InnerWorkings to create a great offer of training to UK developers. We still have some stuff to sort out but I am hopeful that we will be able to share the details of this very early in 2009. In my previous depth role we used InnerWorking successfully to help early adopters get up to speed with the core technologies which we then built on with our own labs, briefings and workshops. We were very impressed with the inventive format they use and the quality of the training.&lt;/p&gt; &lt;p&gt;Essentially the training is broken down into a number of coding challenges which you must perform inside Visual Studio on supplied skeleton projects with the help of relevant information. Once you think you have it right, their program checks your solution for correctness. Very sweet. Above that there is also reporting - making it easy for an organisation to role it out and understand how developers are progressing through the training, opening up the possibility of prizes etc.&lt;/p&gt; &lt;p&gt;The great news is my colleagues in the US have already created a worldwide offer which allows you to try out this format for free. You can &lt;a href="http://www.innerworkings.com/promotions/75d4bd51-4bf1-4d8a-8c47-73135e44837a/visual-studio-2008-promotion"&gt;select from three samples&lt;/a&gt;:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;New Features in C# 3.0 (1 hour)  &lt;li&gt;New Features in VB 9.0 (1 hour)  &lt;li&gt;LINQ to SQL (1 hour) &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Even better news - check out their &lt;a href="http://www.innerworkings.com/catalog"&gt;online catalog&lt;/a&gt; and use the coupon code &lt;strong&gt;IWDEFY&lt;/strong&gt; to claim a 10% discount on all items in your shopping cart.  &lt;p&gt;NB: For the UK we are aiming to put together a larger offering - albeit for a limited number of folks. Watch this space.  &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/goto100/WindowsLiveWriter/AnybodyforsomefreeandcleverVisualStudio2_6FDB/image_6.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="764" alt="image" src="http://blogs.msdn.com/blogfiles/goto100/WindowsLiveWriter/AnybodyforsomefreeandcleverVisualStudio2_6FDB/image_thumb_2.png" width="821" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9235061" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+.NET/default.aspx">Visual Basic .NET</category><category domain="http://blogs.msdn.com/goto100/archive/tags/UK/default.aspx">UK</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Events_2F00_Training/default.aspx">Events/Training</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+2008/default.aspx">Visual Basic 2008</category><category domain="http://blogs.msdn.com/goto100/archive/tags/DevCenter/default.aspx">DevCenter</category></item><item><title>Feedback appreciated on draft screencast on VB6 and the options to move to .NET</title><link>http://blogs.msdn.com/goto100/archive/2008/12/11/feedback-appreciated-on-draft-screencast-on-vb6-and-the-options-to-move-to-net.aspx</link><pubDate>Thu, 11 Dec 2008 20:04:52 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9197459</guid><dc:creator>Eric Nelson</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/goto100/comments/9197459.aspx</comments><wfw:commentRss>http://blogs.msdn.com/goto100/commentrss.aspx?PostID=9197459</wfw:commentRss><description>&lt;p&gt;I am working with partners to pull together guidelines, resources and special promotions on tools to help UK companies with VB6 make the right choice around moving (or not) to .NET. This will happen early in 2009. There will be a new landing page with the information and on that page will be a link to a 10minute overview screencast. I have created this "draft". Would welcome folks comments. &lt;/p&gt; &lt;p&gt;P.S. It is a draft because it contains some glitches, some odd sound and I sound a little bored at times :-) I'm also not as succinct as I would have liked :-)&lt;/p&gt;&lt;iframe style="width: 500px; height: 375px" src="http://silverlight.services.live.com/invoke/72662/VB6%20and%20the%20.NET%20Framework/iframe.html" frameborder="0" scrolling="no"&gt;&lt;/iframe&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9197459" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+6/default.aspx">Visual Basic 6</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+.NET/default.aspx">Visual Basic .NET</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Interop/default.aspx">Interop</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Migration/default.aspx">Migration</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+2008/default.aspx">Visual Basic 2008</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+2005/default.aspx">Visual Basic 2005</category><category domain="http://blogs.msdn.com/goto100/archive/tags/DevCenter/default.aspx">DevCenter</category></item><item><title>Comparing CodeArchitects VB Migration Partner with our Free Upgrade Wizard</title><link>http://blogs.msdn.com/goto100/archive/2008/11/27/comparing-codearchitects-vb-migration-partner-with-our-free-upgrade-wizard.aspx</link><pubDate>Thu, 27 Nov 2008 12:47:57 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9146090</guid><dc:creator>Eric Nelson</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/goto100/comments/9146090.aspx</comments><wfw:commentRss>http://blogs.msdn.com/goto100/commentrss.aspx?PostID=9146090</wfw:commentRss><description>&lt;p&gt;One of the companies I am currently working with is CodeArchitects and more specifically &lt;a href="http://www.vbmigration.com/aboutus.aspx"&gt;Francesco Balena&lt;/a&gt;. Francesco has deep knowledge on all things VB which he (thankfully) decided to transfer into the form of a VB6 migration tool – &lt;a href="http://www.vbmigration.com/overview.aspx"&gt;VB Migration Partner&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;I have had lots of feedback over the years on our free Upgrade Wizard – much of it bad when dealing with large projects. I am told the wizard appears to be fine for smaller projects but is “overwhelmed” when it is asked to tackle large enterprise class applications with several hundred thousand LOC. For this reason companies with large investments in VB6 have turned to companies such as &lt;a href="http://www.artinsoft.com/so_vb.aspx"&gt;Artinsoft&lt;/a&gt; and more recently &lt;a href="http://www.vbmigration.com"&gt;CodeArchitects&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;However I have never seen a detailed comparison of what improvement you might expect. Which is where this &lt;a href="http://www.vbmigration.com/Blog/post/2008/08/Comparing-VB-Migration-Partner-with-Upgrade-Wizard.aspx"&gt;great summary from Francesco&lt;/a&gt; comes in.&lt;/p&gt;  &lt;p&gt;The top level message – the CodeArchitects tool run at least &lt;strong&gt;4 times faster&lt;/strong&gt; and had &lt;strong&gt;5 times fewer compilation errors&lt;/strong&gt; – and with the use of pragmas will be fully functional once the migration tool completes unlike the free wizard which will often raise errors at runtime. Very sweet.&lt;/p&gt;  &lt;p&gt;&lt;img alt="" src="http://www.vbmigration.com/Blog/image.axd?picture=CodeSampleStats2.gif" /&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9146090" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+6/default.aspx">Visual Basic 6</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+.NET/default.aspx">Visual Basic .NET</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Migration/default.aspx">Migration</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+2008/default.aspx">Visual Basic 2008</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+2005/default.aspx">Visual Basic 2005</category><category domain="http://blogs.msdn.com/goto100/archive/tags/DevCenter/default.aspx">DevCenter</category></item><item><title>I nearly forgot to mention GIGO!</title><link>http://blogs.msdn.com/goto100/archive/2008/11/19/i-nearly-forgot-to-mention-gigo.aspx</link><pubDate>Wed, 19 Nov 2008 14:49:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9120359</guid><dc:creator>Eric Nelson</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/goto100/comments/9120359.aspx</comments><wfw:commentRss>http://blogs.msdn.com/goto100/commentrss.aspx?PostID=9120359</wfw:commentRss><description>&lt;p&gt;&lt;/p&gt;  &lt;p&gt;A common mistake I have seen when teams use automated migration tools is the failure to consider our old friend &lt;a href="http://en.wikipedia.org/wiki/GIGO"&gt;GIGO&lt;/a&gt; – Garbage In, Garbage Out.&lt;/p&gt;  &lt;p&gt;Before you consider using any automated tool such as the Visual Basic Upgrade Wizard you should spend some time tidying up your VB6 application to minimize the amount of post upgrade work and give the tool the best chance of success.&lt;/p&gt;  &lt;p&gt;Helpful resources include:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-gb/library/ywsayxak.aspx"&gt;Things to Consider Before Upgrading&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-gb/library/14w905kc.aspx"&gt;Preparing a Visual Basic 6.0 Application for Upgrading&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-gb/library/xyesssa6.aspx"&gt;Language Recommendations for Upgrading&lt;/a&gt; which has some great advice. e.g. &lt;a title="Upgrade Recommendation- Use Early Binding and Explicit Conversions" href="http://msdn.microsoft.com/en-gb/library/99shbey3.aspx"&gt;Use Early Binding and Explicit Conversions&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;There appear to be a couple of minor inconsistencies in the documentation. The Printer object, the PrintForm method and the Line and Shape controls are now supported by the Visual Basic 2008 upgrade wizard.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9120359" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+6/default.aspx">Visual Basic 6</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+.NET/default.aspx">Visual Basic .NET</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Migration/default.aspx">Migration</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+2008/default.aspx">Visual Basic 2008</category><category domain="http://blogs.msdn.com/goto100/archive/tags/DevCenter/default.aspx">DevCenter</category></item><item><title>Upgrading VB6 applications – a moment to reflect :-)</title><link>http://blogs.msdn.com/goto100/archive/2008/11/18/upgrading-vb6-applications-a-moment-to-reflect.aspx</link><pubDate>Wed, 19 Nov 2008 00:36:25 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9120299</guid><dc:creator>Eric Nelson</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/goto100/comments/9120299.aspx</comments><wfw:commentRss>http://blogs.msdn.com/goto100/commentrss.aspx?PostID=9120299</wfw:commentRss><description>&lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;I’ve now spent a bit of time with the book &lt;a href="http://msdn.microsoft.com/en-gb/library/aa480541.aspx"&gt;”Upgrading Visual Basic 6.0 Applications to Visual Basic .NET and Visual Basic 2005”&lt;/a&gt;, so what are my thoughts about it? The good news is it remains a comprehensive and valuable resource for anyone planning to move their VB6 applications to .NET. However it is worth remembering that:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;It focuses on upgrading rather than interoperating (Covered as &lt;strong&gt;Reuse&lt;/strong&gt; in my earlier post on &lt;a title="Rewrite vs Migrate vs Reuse vs Replace" href="http://blogs.msdn.com/goto100/archive/2008/11/03/rewrite-vs-migrate-vs-reuse-vs-replace.aspx"&gt;Rewrite vs Migrate vs Reuse vs Replace&lt;/a&gt;). It was written prior to the development of the &lt;a href="http://msdn.microsoft.com/en-us/vbasic/bb419144.aspx"&gt;Interop Forms Toolkit&lt;/a&gt; which makes combining VB6 and .NET much easier.&amp;#160; &lt;/li&gt;    &lt;li&gt;It doesn’t cover any .NET 3.0 or .NET 3.5 topics – nor Visual Studio 2008.&lt;/li&gt; &lt;/ul&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9120299" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+6/default.aspx">Visual Basic 6</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+.NET/default.aspx">Visual Basic .NET</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Interop/default.aspx">Interop</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Migration/default.aspx">Migration</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+2008/default.aspx">Visual Basic 2008</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+2005/default.aspx">Visual Basic 2005</category><category domain="http://blogs.msdn.com/goto100/archive/tags/DevCenter/default.aspx">DevCenter</category></item><item><title>ASP to ASP.NET</title><link>http://blogs.msdn.com/goto100/archive/2008/11/11/asp-to-asp-net.aspx</link><pubDate>Tue, 11 Nov 2008 12:41:12 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9059632</guid><dc:creator>Eric Nelson</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/goto100/comments/9059632.aspx</comments><wfw:commentRss>http://blogs.msdn.com/goto100/commentrss.aspx?PostID=9059632</wfw:commentRss><description>&lt;p&gt;Visual Basic migration to .NET includes:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;VB6 rich client migration – which represents the majority of migration projects I have seen&lt;/li&gt;    &lt;li&gt;ASP to ASP.NET migration – aka vbscript migration&lt;/li&gt;    &lt;li&gt;Access migration – aka vba migration (although Access migration often initially involves just moving the data onto SQL Server, retaining the Access UI)&lt;/li&gt;    &lt;li&gt;Some other edge conditions – such as VB6 WebClasses&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;I thought I would have a look and see what resources are currently available to help with migrating ASP to ASP.NET. A good starting point is the &lt;a href="http://msdn.microsoft.com/en-us/asp.net/aa336621.aspx"&gt;migration area on the ASP.NET Developer Center&lt;/a&gt;. There is also an &lt;a href="http://msdn.microsoft.com/en-us/asp.net/aa336624.aspx"&gt;ASP to ASP.NET Migration Assistant&lt;/a&gt;, but (unless I’ve missed something) it targets ASP.NET 1.1 and not ASP.NET 2.0, so you’d have &lt;a href="http://www.codeproject.com/KB/aspnet/ComparisonASP1xASP20.aspx"&gt;some work&lt;/a&gt; to do if you wanted to make use of the latest version of .NET. Regrettably the migration site for ASP to ASP.NET is looking a little neglected in other areas as well with a number of broken links. Perhaps this site is allowed to “decay” as “all” ASP to ASP.NET migration has already taken place as ASP.NET offered many significant benefits. Certainly I have no companies left that have pure ASP in their solution - at least that is what they told me :-) &lt;/p&gt;  &lt;p&gt;In case you were wondering, there was no ASP.NET 3.0. The .NET Framework 3.0 was focused on WPF, WCF and WF and did nothing in the area of ASP.NET. There is ASP.NET 3.5 though, shipping with .NET Framework 3.5 and targeted by Visual Studio 2008. &lt;/p&gt;  &lt;p&gt;By the way, if you did use VB6 WebClasses to build your web interface then you’ll find that the VB6 Upgrade Wizard in Visual Studio will handle the conversion to ASP.NET for you, giving you a choice of target framework.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9059632" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+6/default.aspx">Visual Basic 6</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+.NET/default.aspx">Visual Basic .NET</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Migration/default.aspx">Migration</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+2008/default.aspx">Visual Basic 2008</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+2005/default.aspx">Visual Basic 2005</category><category domain="http://blogs.msdn.com/goto100/archive/tags/DevCenter/default.aspx">DevCenter</category></item><item><title>Functional Equivalence vs Application Advancement (and Vertical vs Horizontal)</title><link>http://blogs.msdn.com/goto100/archive/2008/11/11/functional-equivalence-vs-application-advancement-and-vertical-vs-horizontal.aspx</link><pubDate>Tue, 11 Nov 2008 12:10:22 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9059483</guid><dc:creator>Eric Nelson</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/goto100/comments/9059483.aspx</comments><wfw:commentRss>http://blogs.msdn.com/goto100/commentrss.aspx?PostID=9059483</wfw:commentRss><description>&lt;p&gt;These are a couple of useful terms I’ve picked up from the &lt;a href="http://msdn.microsoft.com/en-gb/library/aa480541.aspx"&gt;”Upgrading Visual Basic 6.0 Applications to Visual Basic .NET and Visual Basic 2005”&lt;/a&gt; guide (I really need an acronym to refer to this book!). They refer to two stages of the upgrade process: &lt;strong&gt;&lt;em&gt;Functional equivalence&lt;/em&gt;&lt;/strong&gt; means that your .NET application has the same functionality as your VB6 application and the recommendation is that you should get to this stage before you start working on application advancement. &lt;strong&gt;&lt;em&gt;Application advancement&lt;/em&gt;&lt;/strong&gt; is when you start adding new or improved functionality, and where you can start to benefit from all the features of the .NET Framework. In many cases I see teams are asked to deliver both in parallel (as I discussed &lt;a href="http://blogs.msdn.com/goto100/archive/2008/11/03/rewrite-vs-migrate-vs-reuse-vs-replace.aspx"&gt;previously&lt;/a&gt;) and the end result is at best a lot of late nights and at worst, nothing is ultimately delivered. &lt;/p&gt;  &lt;p&gt;Another useful concept discussed in the guide is &lt;strong&gt;&lt;em&gt;vertical&lt;/em&gt;&lt;/strong&gt; and &lt;strong&gt;&lt;em&gt;horizontal upgrades&lt;/em&gt;&lt;/strong&gt;. A vertical upgrade tackles a vertical slice through all the layers of an application, while a horizontal upgrade deals with a single layer of the application at a time. Which approach makes sense will depend on the architecture of your application. Many teams I have engaged understand the benefits of working with a vertical slice but it is interesting to see that in many cases they choose a poor or incomplete vertical slice. Common mistakes I have seen when teams scope the vertical slice include:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;A vertical slice which fails to include reporting and archiving – leaving key implementation details until later&lt;/li&gt;    &lt;li&gt;A vertical slice which fails to consider data volumes – the vertical slice is run against virtually empty tables, which masks significant issues with the implementation&lt;/li&gt;    &lt;li&gt;A vertical slice which fails to consider concurrency – the vertical slice is never run within the context of simulated load, again masking significant issues&lt;/li&gt;    &lt;li&gt;A vertical slice which fails to include interop with existing systems – despite interop being a key requirement of the solution&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;There are plenty of other examples – but failure to consider the above four can easily lead to significant difficulties later on in a migration project.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9059483" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+.NET/default.aspx">Visual Basic .NET</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Interop/default.aspx">Interop</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Migration/default.aspx">Migration</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+2008/default.aspx">Visual Basic 2008</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+2005/default.aspx">Visual Basic 2005</category><category domain="http://blogs.msdn.com/goto100/archive/tags/DevCenter/default.aspx">DevCenter</category></item><item><title>Estimating the effort to move to .NET</title><link>http://blogs.msdn.com/goto100/archive/2008/11/05/estimating-the-effort-to-move-to-net.aspx</link><pubDate>Wed, 05 Nov 2008 17:30:46 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9044344</guid><dc:creator>Eric Nelson</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/goto100/comments/9044344.aspx</comments><wfw:commentRss>http://blogs.msdn.com/goto100/commentrss.aspx?PostID=9044344</wfw:commentRss><description>&lt;h4&gt;&lt;/h4&gt; &lt;p&gt;Software estimation is difficult at the best of times (which is why I recommend &lt;a href="http://www.amazon.co.uk/Software-Estimation-Demystifying-Demystified-Practices/dp/0735605351"&gt;Software Estimation Demystified&lt;/a&gt;), but estimating how long an upgrade will take to an environment you’re not familiar with is going to be hard to get right. There’s a &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=10C491A2-FC67-4509-BC10-60C5C039A272&amp;amp;displaylang=en"&gt;utility&lt;/a&gt; accompanying the &lt;a href="http://msdn.microsoft.com/en-gb/library/aa480541.aspx"&gt;“Upgrading Visual Basic 6.0 Applications to Visual Basic .NET and Visual Basic 2005”&lt;/a&gt; guide to help you out. &lt;/p&gt; &lt;p&gt;If you want to have a peek at some sample output based on the old FM Stocks 2000 application then download and install &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=2B3E5D83-D6EE-41C6-BA06-06B3749C4283&amp;amp;displaylang=en"&gt;this&lt;/a&gt;, then have a look in the ‘Assessment Reports’ folder it creates. The file MainReport.xls contains the upgrade cost estimates. (Warning this tool only works with Excel 2003 – you can &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=c8378bf4-996c-4569-b547-75edbd03aaf0&amp;amp;displaylang=EN"&gt;download the viewer&lt;/a&gt;.)&lt;/p&gt; &lt;p&gt;P.S. As an aside – I really loved the simplicity of &lt;a href="http://www.fmstocks.com/"&gt;FM Stocks&lt;/a&gt;, especially when you recall the alternative sample was Duwamish. &lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9044344" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+6/default.aspx">Visual Basic 6</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+.NET/default.aspx">Visual Basic .NET</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Migration/default.aspx">Migration</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+2008/default.aspx">Visual Basic 2008</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+2005/default.aspx">Visual Basic 2005</category></item><item><title>WPF Performance issues? Then maybe this tool can help…</title><link>http://blogs.msdn.com/goto100/archive/2008/10/31/wpf-performance-issues-then-maybe-this-tool-can-help.aspx</link><pubDate>Fri, 31 Oct 2008 17:13:49 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9026681</guid><dc:creator>Eric Nelson</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/goto100/comments/9026681.aspx</comments><wfw:commentRss>http://blogs.msdn.com/goto100/commentrss.aspx?PostID=9026681</wfw:commentRss><description>&lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;I am seeing more interest in building richer UX in WPF of late which is great. Since WPF is &lt;strong&gt;very&lt;/strong&gt; powerful and &lt;strong&gt;very&lt;/strong&gt; flexible, we are beginning to see developers hit UX performance issues as they build increasingly rich and exciting UI. The good news is we have a new release of our &lt;a href="http://windowsclient.net/wpf/perf/wpf-perf-tool.aspx"&gt;Performance Profiling tool for WPF&lt;/a&gt; with a better UI, new tools and increased capability. I have not myself had a need to use it in anger (My WPF UI is still pretty much grey screen stuff) but this tool is looking great.&amp;nbsp; &lt;/p&gt; &lt;p&gt;&lt;a href="http://windowsclient.net/SiteFiles/1000/wpf/perf/WPFPerf_01_large.png"&gt;&lt;img alt="Visual Profiler" src="http://windowsclient.net/SiteFiles/1000/wpf/perf/WPFPerf_01.png"&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9026681" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+.NET/default.aspx">Visual Basic .NET</category><category domain="http://blogs.msdn.com/goto100/archive/tags/UX/default.aspx">UX</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+2008/default.aspx">Visual Basic 2008</category></item><item><title>VB links on Entity Framework, Data Services and WPF</title><link>http://blogs.msdn.com/goto100/archive/2008/10/24/vb-links-on-entity-framework-data-services-and-wpf.aspx</link><pubDate>Fri, 24 Oct 2008 16:42:35 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9014705</guid><dc:creator>Eric Nelson</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/goto100/comments/9014705.aspx</comments><wfw:commentRss>http://blogs.msdn.com/goto100/commentrss.aspx?PostID=9014705</wfw:commentRss><description>&lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;The following are all well worth a look:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="http://channel9.msdn.com/posts/funkyonex/ADONET-Data-Services-Astoria-in-Visual-Studio-2008-SP1/"&gt;N-Tier Development with Data Services and Entity Framework (16mins)&lt;/a&gt;&amp;nbsp;&lt;/li&gt; &lt;ul&gt; &lt;li&gt;A PM on the team builds a simple ADO.NET Data Services application in VB.&lt;/li&gt;&lt;/ul&gt; &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/magazine/cc947916.aspx"&gt;Dynamic Data Entry with XML Literals&lt;/a&gt;&lt;/li&gt; &lt;ul&gt; &lt;li&gt;Dynamic creation of WPF maintenance screens using VB XML Literals.&lt;/li&gt;&lt;/ul&gt; &lt;li&gt;&lt;a href="http://www.myvbprof.com/2007_Version/Dynamic_Data_Tutorial.aspx"&gt;12 new videos on ASP.NET Dynamic Data in VB&lt;/a&gt;&lt;/li&gt; &lt;ul&gt; &lt;li&gt;Bill does a great job at introducing ASP.NET Dynamic Data.&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9014705" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+.NET/default.aspx">Visual Basic .NET</category><category domain="http://blogs.msdn.com/goto100/archive/tags/UX/default.aspx">UX</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Data/default.aspx">Data</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+2008/default.aspx">Visual Basic 2008</category></item><item><title>Long strings in Visual Basic 2008</title><link>http://blogs.msdn.com/goto100/archive/2008/10/06/long-strings-in-visual-basic-2008.aspx</link><pubDate>Tue, 07 Oct 2008 00:34:06 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8978816</guid><dc:creator>Eric Nelson</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/goto100/comments/8978816.aspx</comments><wfw:commentRss>http://blogs.msdn.com/goto100/commentrss.aspx?PostID=8978816</wfw:commentRss><description>&lt;p&gt;I suspect everyone already knew this – but for me it was shiny and new :-) &lt;a href="http://msdn.microsoft.com/en-us/library/bb384629.aspx"&gt;XML Literals&lt;/a&gt; do not require line continuation characters, hence rather than this:&lt;/p&gt; &lt;div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 97.5%; cursor: text; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, 'Courier New', courier, monospace; background-color: #f4f4f4"&gt; &lt;div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;Dim&lt;/span&gt; msg1 &lt;span style="color: #0000ff"&gt;As&lt;/span&gt; &lt;span style="color: #0000ff"&gt;String&lt;/span&gt; = &lt;span style="color: #006080"&gt;"this is a "&lt;/span&gt; &amp;amp; _&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   2:&lt;/span&gt;                     &lt;span style="color: #006080"&gt;"really, "&lt;/span&gt; &amp;amp; _&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   3:&lt;/span&gt;                     &lt;span style="color: #006080"&gt;"really "&lt;/span&gt; &amp;amp; _&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   4:&lt;/span&gt;                     &lt;span style="color: #006080"&gt;"long string"&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;you can create a really long string using an XML Literal:&lt;/p&gt;
&lt;div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 97.5%; cursor: text; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, 'Courier New', courier, monospace; background-color: #f4f4f4"&gt;
&lt;div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;Dim&lt;/span&gt; msg1 = &amp;lt;s&amp;gt;This &lt;span style="color: #0000ff"&gt;is&lt;/span&gt; a&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   2:&lt;/span&gt;                 really,&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   3:&lt;/span&gt;                 really&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   4:&lt;/span&gt;                 &lt;span style="color: #0000ff"&gt;long&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&amp;lt;/s&amp;gt;.Value&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Note: the whitespace is maintained.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8978816" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+.NET/default.aspx">Visual Basic .NET</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+2008/default.aspx">Visual Basic 2008</category></item></channel></rss>