<?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>Beth Massi - Sharing the goodness that is VB</title><link>http://blogs.msdn.com/bethmassi/default.aspx</link><description>&lt;font size="2"&gt;
&lt;a href="http://msdn.com/vbasic" alt="Everything you need is here!"&gt;Visual Basic Developer Center&lt;/a&gt; | &lt;a href="http://blogs.msdn.com/vbteam/" alt="The people who eat, sleep, breathe VB"&gt;VB Team Blog&lt;/a&gt; | &lt;a href="http://msdn2.microsoft.com/en-us/vbasic/bb466226.aspx" alt="Get started learning now!"&gt;How-Do-I Videos&lt;/a&gt; | &lt;a href="http://msdn2.microsoft.com/en-us/vbasic/aa701257.aspx" alt="Make your life easier"&gt;Power Packs&lt;/a&gt; | &lt;a href="http://msdn2.microsoft.com/en-us/vbasic/ms789074.aspx" alt="Learn by examples"&gt;Code Samples&lt;/a&gt; | &lt;a href="http://channel9.msdn.com/posts/funkyonex/" alt="The best interviews on the net!"&gt;VB Interviews&lt;/a&gt;&lt;/font&gt;</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Migrating an Outlook Client to .NET Framework 4 in Visual Studio 2010</title><link>http://blogs.msdn.com/bethmassi/archive/2009/12/15/migrating-an-outlook-client-to-net-framework-4-in-visual-studio-2010.aspx</link><pubDate>Wed, 16 Dec 2009 07:12:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9937506</guid><dc:creator>Beth Massi</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/bethmassi/comments/9937506.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bethmassi/commentrss.aspx?PostID=9937506</wfw:commentRss><wfw:comment>http://blogs.msdn.com/bethmassi/rsscomments.aspx?PostID=9937506</wfw:comment><description>&lt;P&gt;Early this year we built a &lt;A href="http://code.msdn.microsoft.com/OBANorthwind" target=_blank mce_href="http://code.msdn.microsoft.com/OBANorthwind"&gt;business application for order management for Northwind Traders&lt;/A&gt; on the Office and SharePoint platform using Visual Studio 2008 and Office &amp;amp; SharePoint 2007. If you missed them:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://blogs.msdn.com/bethmassi/archive/2009/02/02/building-an-office-business-application-for-techready-8.aspx" target=_blank mce_href="http://blogs.msdn.com/bethmassi/archive/2009/02/02/building-an-office-business-application-for-techready-8.aspx"&gt;Architecture of the Northwind Office Business Application&lt;/A&gt; &lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://blogs.msdn.com/bethmassi/archive/2009/02/03/oba-part-1-exposing-line-of-business-data.aspx" mce_href="http://blogs.msdn.com/bethmassi/archive/2009/02/03/oba-part-1-exposing-line-of-business-data.aspx"&gt;OBA Part 1 - Exposing Line-of-Business Data&lt;/A&gt; &lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://blogs.msdn.com/bethmassi/archive/2009/02/07/oba-part-2-building-and-outlook-client-against-lob-data.aspx" mce_href="http://blogs.msdn.com/bethmassi/archive/2009/02/07/oba-part-2-building-and-outlook-client-against-lob-data.aspx"&gt;OBA Part 2 - Building an Outlook Client against LOB Data&lt;/A&gt; &lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://blogs.msdn.com/bethmassi/archive/2009/02/12/oba-part-3-storing-and-reading-data-in-word-documents.aspx" mce_href="http://blogs.msdn.com/bethmassi/archive/2009/02/12/oba-part-3-storing-and-reading-data-in-word-documents.aspx"&gt;OBA Part 3 - Storing and Reading Data in Word Documents&lt;/A&gt; &lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://blogs.msdn.com/bethmassi/archive/2009/03/08/oba-part-4-building-an-excel-client-against-lob-data.aspx" mce_href="http://blogs.msdn.com/bethmassi/archive/2009/03/08/oba-part-4-building-an-excel-client-against-lob-data.aspx"&gt;OBA Part 4 - Building an Excel Client against LOB Data&lt;/A&gt; &lt;/LI&gt;
&lt;LI&gt;
&lt;DIV align=left&gt;&lt;A href="http://blogs.msdn.com/bethmassi/archive/2009/04/21/oba-part-5-building-the-sharepoint-2007-workflow.aspx" mce_href="http://blogs.msdn.com/bethmassi/archive/2009/04/21/oba-part-5-building-the-sharepoint-2007-workflow.aspx"&gt;OBA Part 5 - Building the SharePoint 2007 Workflow&lt;/A&gt; &lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;The solution consists of an Outlook client that pulls up order history when a customer email arrives in the sales associate’s inbox. This way they don’t have to leave Outlook (the application that they live in all day) to see corresponding line-of-business (LOB) data, in this case order history, right in the email message. LOB data is exposed via a simple REST-based WCF data service (&lt;A href="http://blogs.msdn.com/bethmassi/archive/2009/02/03/oba-part-1-exposing-line-of-business-data.aspx" target=_blank mce_href="http://blogs.msdn.com/bethmassi/archive/2009/02/03/oba-part-1-exposing-line-of-business-data.aspx"&gt;built in part 1&lt;/A&gt;) and is displayed in the reading pane in Outlook for each customer.&lt;/P&gt;
&lt;P&gt;Today I want to take a look at how we can migrate the &lt;A href="http://blogs.msdn.com/bethmassi/archive/2009/02/07/oba-part-2-building-and-outlook-client-against-lob-data.aspx" mce_href="http://blogs.msdn.com/bethmassi/archive/2009/02/07/oba-part-2-building-and-outlook-client-against-lob-data.aspx"&gt;Outlook client we built in part 2&lt;/A&gt; to Office 2010 and &lt;A href="http://msdn.microsoft.com/en-us/library/cc656912(VS.100).aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/cc656912(VS.100).aspx"&gt;.NET Framework 4.0 Client Profile&lt;/A&gt; using Visual Studio 2010. The VSTO 4 Runtime has changed so there are some manual steps you may have to take when you migrate your solutions depending on what features you are using.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;I set up a Windows 7 VHD with Visual Studio, SharePoint &amp;amp; Office Betas that I’ll be using for development, just like I explained in this post - &lt;A href="http://blogs.msdn.com/bethmassi/archive/2009/12/02/setting-up-windows-7-for-office-sharepoint-2010-beta-development.aspx" target=_blank mce_href="http://blogs.msdn.com/bethmassi/archive/2009/12/02/setting-up-windows-7-for-office-sharepoint-2010-beta-development.aspx"&gt;Setting up Windows 7 for Office &amp;amp; SharePoint 2010 Beta Development&lt;/A&gt;. If you’d like to follow along you can &lt;A href="http://code.msdn.microsoft.com/OBANorthwind" target=_blank mce_href="http://code.msdn.microsoft.com/OBANorthwind"&gt;download the Visual Studio 2008 version of the code here&lt;/A&gt;.&lt;/P&gt;
&lt;H4&gt;&lt;STRONG&gt;Required Changes for the New VSTO 4 Runtime&lt;/STRONG&gt;&lt;/H4&gt;
&lt;P&gt;First I want to point out some excellent information on MSDN that you should familiarize yourself with if you are migrating Office solutions built with Visual Studio (VSTO). All the samples, walkthroughs and videos on the &lt;A href="http://msdn.microsoft.com/en-us/vsto/ee676911.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/vsto/ee676911.aspx"&gt;Visual Studio 2010 resources page&lt;/A&gt; on the &lt;A href="http://msdn.com/vsto" target=_blank&gt;VSTO Dev Center&lt;/A&gt; are valuable but if you are migrating you should pay close attention to this item - &lt;/P&gt;
&lt;P&gt;&lt;A href="http://msdn.microsoft.com/en-us/vsto/ee207231(VS.100).aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/vsto/ee207231(VS.100).aspx"&gt;&lt;EM&gt;&lt;STRONG&gt;Migrating Office Solutions to the .NET Framework 4&lt;/STRONG&gt;&lt;/EM&gt;&lt;/A&gt;&lt;EM&gt; &lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;I also recommend familiarizing yourself with the new VSTO4 Runtime here - &lt;/P&gt;
&lt;P&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/bb608603(VS.100).aspx" mce_href="http://msdn.microsoft.com/en-us/library/bb608603(VS.100).aspx"&gt;&lt;STRONG&gt;&lt;EM&gt;Visual Studio Tools for Office Runtime Overview&lt;/EM&gt;&lt;/STRONG&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;In particular, if your Outlook project uses Form Regions or the Ribbon designer then you will have some work to do &lt;STRONG&gt;if you target .NET Framework 4 &lt;/STRONG&gt;because the VSTO 4 runtime has been updated to use Office object model interfaces and not directly inherit from classes like was done in the previous versions of the VSTO runtime. Moving forward this is a very good thing because it removes the dependency on specific versions of Office and enables Office solutions to use the new embedded interop types feature (sometimes referred to as “no-PIAs”) in the .NET Framework 4. This means solutions can run on end user computers without installing these primary interop assemblies (PIAs).&lt;/P&gt;
&lt;P&gt;So you may have to reach into the designer generated files and tweak some code. Note that depending on how you structure your application it may be easier after you retarget to .NET 4 to just create a new Form Region and a new Ribbon and copy your user code into them. This is especially true if you are migrating solutions using Visual Studio Beta 2 to .NET 4 because of a bug which I’ll show you how to work around. Let’s take a look at what we need to do for our &lt;A href="http://blogs.msdn.com/bethmassi/archive/2009/02/07/oba-part-2-building-and-outlook-client-against-lob-data.aspx" target=_blank mce_href="http://blogs.msdn.com/bethmassi/archive/2009/02/07/oba-part-2-building-and-outlook-client-against-lob-data.aspx"&gt;Northwind Outlook client&lt;/A&gt;.&lt;/P&gt;
&lt;H4&gt;&lt;STRONG&gt;Migrating the Outlook Solution to Visual Studio 2010&lt;/STRONG&gt;&lt;/H4&gt;
&lt;P&gt;Before I jump into migrating this solution I should point out that building Office client solutions in Visual Studio became a lot easier starting in Visual Studio 2008 with all the designer support that was added directly into the Visual Studio box. You can create form regions, ribbons, and host WPF controls easily using these tools in VS2008 without having to install additional extensions. These tools have been updated in Visual Studio 2010 to allow you to build upon Office 2010 but they are just as easy to use.&lt;/P&gt;
&lt;P&gt;So let’s start with opening the NorthwindOutlookClient solution in Visual Studio 2010. The migration wizard will open and you’ll be guided through conversion of the project to VS2010. Note that depending on what you have installed on your development machine will determine what Visual Studio does with the solution. If you have the .NET 3.5 framework installed then the target framework will not change, however if you only have .NET 4 then it will update to that automatically. (For more information see &lt;A href="http://msdn.microsoft.com/en-us/library/4bez6837(VS.100).aspx" mce_href="http://msdn.microsoft.com/en-us/library/4bez6837(VS.100).aspx"&gt;How to Upgrade Office Solutions&lt;/A&gt; and &lt;A href="http://msdn.microsoft.com/en-us/library/bb398242(VS.100).aspx" mce_href="http://msdn.microsoft.com/en-us/library/bb398242(VS.100).aspx"&gt;Configuring a Computer to Develop Office Solutions&lt;/A&gt;). &lt;/P&gt;
&lt;P&gt;Since &lt;A href="http://blogs.msdn.com/bethmassi/archive/2009/12/02/setting-up-windows-7-for-office-sharepoint-2010-beta-development.aspx" target=_blank mce_href="http://blogs.msdn.com/bethmassi/archive/2009/12/02/setting-up-windows-7-for-office-sharepoint-2010-beta-development.aspx"&gt;my development environment&lt;/A&gt; is a Windows 7 machine set up with Office 2010, Visual Studio 2010 and SharePoint Foundation 2010 I get some warnings immediately about the version of Office being wrong. “This project requires Microsoft Office Outlook 2007, but this application is not installed.” &lt;STRONG&gt;However it will build and run just fine in Outlook 2010&lt;/STRONG&gt;. &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/MigratinganOutlookClienttoVisualStudio20_CB9A/image_6.png" mce_href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/MigratinganOutlookClienttoVisualStudio20_CB9A/image_6.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/MigratinganOutlookClienttoVisualStudio20_CB9A/image_thumb_2.png" width=599 height=529 mce_src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/MigratinganOutlookClienttoVisualStudio20_CB9A/image_thumb_2.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;H4&gt;&lt;STRONG&gt;Updating the Target Framework to .NET 4&lt;/STRONG&gt;&lt;/H4&gt;
&lt;P&gt;Now let’s change the target framework to .NET Framework 4 Client Profile. In Visual Basic you do this by selecting the project properties Compile tab, scroll down to “Advanced Compile Options…” and then select the new framework in the dropdown.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/MigratinganOutlookClienttoVisualStudio20_CB9A/image_4.png" mce_href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/MigratinganOutlookClienttoVisualStudio20_CB9A/image_4.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/MigratinganOutlookClienttoVisualStudio20_CB9A/image_thumb_1.png" width=651 height=472 mce_src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/MigratinganOutlookClienttoVisualStudio20_CB9A/image_thumb_1.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;I should mention that the Client Profile is a subset of the full .NET 4 Framework meant for client applications like WPF, Windows Forms and Office solutions.&amp;nbsp; This means it’s a smaller install if your users don’t have the .NET Framework installed at all. It doesn’t include any server pieces like ASP.NET. This is also now the default framework target for &lt;STRONG&gt;new &lt;/STRONG&gt;Windows, WPF and Office projects.&lt;/P&gt;
&lt;P&gt;So once we change the framework, this will close and then reopen the project. Now we’ve got a bunch of stuff in our errors list. Ouch. There are 48 errors but only 25 of them are related to the VSTO 4 runtime changes. The minor problem is that the WPF control is referencing System.Xaml and when we switched the target this gets dropped (at least it does in Beta 2) so we need to just reference this 4.0 assembly. If you open up the OrderHistory.g.vb file, hover over the error, and drop down the error correction it will take care of this for you. &lt;/P&gt;
&lt;P&gt;Much more important is the 25 errors around our Form Region. We have two options, we can either add a brand new Form Region to the project, add our controls, paste our custom code into it, and delete the old one, or we can modify the designer generated code. In this case, because there is only one user control on the Form Region, it’s much easier to just create a new one. But if you have very complicated layouts you may need to take the route of updating the designer code to use the new interfaces. For the sake of learning what we need to do in these trickier situations, I’ll opt to go that route too. &lt;/P&gt;
&lt;H4&gt;&lt;STRONG&gt;Update Outlook Projects that Contain Form Regions&lt;/STRONG&gt;&lt;/H4&gt;
&lt;P&gt;Since we’ll be modifying the designer generated code you’ll need to make sure you click the &lt;A href="http://msdn.microsoft.com/en-us/library/26k97dbc.aspx#sectionToggle0" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/26k97dbc.aspx#sectionToggle0"&gt;Show All Files toolbar button on the Solution Explorer&lt;/A&gt;. Now we can open up the EmailForm.Designer.vb file in the editor. &lt;/P&gt;
&lt;P&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee207231(VS.100).aspx#outlook" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee207231(VS.100).aspx#outlook"&gt;This documentation contains the step-by-step code conversions that you need to perform to upgrade your form regions&lt;/A&gt;. First we need to modify the declaration of the form region class so that it derives from &lt;A href="http://msdn.microsoft.com/en-us/library/microsoft.office.tools.outlook.formregionbase(VS.100).aspx" mce_href="http://msdn.microsoft.com/en-us/library/microsoft.office.tools.outlook.formregionbase(VS.100).aspx"&gt;FormRegionBase&lt;/A&gt; instead of FormRegionControl:&lt;STRONG&gt; &lt;/STRONG&gt;&lt;/P&gt;&lt;PRE class=code&gt;&amp;lt;System.ComponentModel.&lt;SPAN style="COLOR: #2b91af"&gt;ToolboxItemAttribute&lt;/SPAN&gt;(&lt;SPAN style="COLOR: blue"&gt;False&lt;/SPAN&gt;)&amp;gt; _
&amp;lt;&lt;SPAN style="COLOR: blue"&gt;Global&lt;/SPAN&gt;.Microsoft.VisualBasic.CompilerServices.&lt;SPAN style="COLOR: #2b91af"&gt;DesignerGenerated&lt;/SPAN&gt;()&amp;gt; _
&lt;SPAN style="COLOR: blue"&gt;Partial Class &lt;/SPAN&gt;&lt;SPAN style="COLOR: #2b91af"&gt;EmailForm
    &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN style="COLOR: blue"&gt;Inherits &lt;/SPAN&gt;Microsoft.Office.Tools.Outlook.&lt;/STRONG&gt;&lt;SPAN style="COLOR: #2b91af"&gt;&lt;STRONG&gt;FormRegionBase&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;A href="http://11011.net/software/vspaste" mce_href="http://11011.net/software/vspaste"&gt;&lt;/A&gt;
&lt;P&gt;The documentation also shows what the code looks like against a 3.5 target and what it should look like against a 4.0 target. For instance we have a problem with the constructor. In 3.5 we have:&lt;/P&gt;&lt;A href="http://11011.net/software/vspaste" mce_href="http://11011.net/software/vspaste"&gt;&lt;/A&gt;&lt;PRE class=code&gt;&lt;SPAN style="COLOR: blue"&gt;    Public Sub New&lt;/SPAN&gt;(&lt;SPAN style="COLOR: blue"&gt;ByVal &lt;/SPAN&gt;formRegion &lt;SPAN style="COLOR: blue"&gt;As &lt;/SPAN&gt;Microsoft.Office.Interop.Outlook.FormRegion)
        &lt;SPAN style="COLOR: blue"&gt;MyBase&lt;/SPAN&gt;.New(formRegion)
        &lt;SPAN style="COLOR: blue"&gt;Me&lt;/SPAN&gt;.InitializeComponent()
&lt;SPAN style="COLOR: blue"&gt;    End Sub&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;P&gt;However in .NET 4 we need to change this to:&lt;/P&gt;&lt;PRE class=code&gt;    &lt;SPAN style="COLOR: blue"&gt;Public Sub New&lt;/SPAN&gt;(&lt;SPAN style="COLOR: blue"&gt;ByVal &lt;/SPAN&gt;formRegion &lt;SPAN style="COLOR: blue"&gt;As &lt;/SPAN&gt;Microsoft.Office.Interop.Outlook.FormRegion)
        &lt;SPAN style="COLOR: blue"&gt;MyBase&lt;/SPAN&gt;.New(&lt;SPAN style="COLOR: #2b91af"&gt;Globals&lt;/SPAN&gt;.Factory, formRegion)
        &lt;SPAN style="COLOR: blue"&gt;Me&lt;/SPAN&gt;.InitializeComponent()
    &lt;SPAN style="COLOR: blue"&gt;End Sub&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;P&gt;Next we need update the signature of the InitializeManifest method (note that underscores are not necessary here in Visual Basic when targeting .NET Famework 4)&lt;/P&gt;&lt;PRE class=code&gt;&lt;SPAN style="COLOR: blue"&gt;Private Shared Sub &lt;/SPAN&gt;InitializeManifest(&lt;BR&gt;     &lt;SPAN style="COLOR: blue"&gt;ByVal &lt;/SPAN&gt;manifest &lt;SPAN style="COLOR: blue"&gt;As &lt;/SPAN&gt;Microsoft.Office.Tools.Outlook.&lt;SPAN style="COLOR: #2b91af"&gt;FormRegionManifest&lt;/SPAN&gt;,
     &lt;SPAN style="COLOR: blue"&gt;ByVal &lt;/SPAN&gt;factory &lt;SPAN style="COLOR: blue"&gt;As &lt;/SPAN&gt;Microsoft.Office.Tools.Outlook.&lt;SPAN style="COLOR: #2b91af"&gt;Factory&lt;/SPAN&gt;)&lt;/PRE&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;H4&gt;&lt;STRONG&gt;A Better Way to Upgrade (for now) – Working Around a Bug in Visual Studio 2010 Beta 2&lt;/STRONG&gt;&lt;/H4&gt;
&lt;P&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee207231(VS.100).aspx#outlook" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee207231(VS.100).aspx#outlook"&gt;Steps 5-8 of the documentation&lt;/A&gt; tell us to create a new Form Region to get the new factory code that we need -- this is why it may just be easier for you to start this way. Unfortunately there’s a bug in Visual Studio 2010 Beta 2 when you attempt to add a new item to the project it will select the wrong language. If you have a C# project it will select VB templates and if you have a VB project it will select C# templates. Doh! (Now that’s taking language parity thing a bit too far ;-)) So the way you have to work around this is to create a new Outlook Add-in project based on .NET 4 already and then add a new form region there. This is a bug only with migrated projects and it will be fixed in the final release. &lt;/P&gt;
&lt;P&gt;However, if you also want to keep building upon this solution in Beta 2, you should recreate the project, selecting a .NET 4 target, and add your existing files into it. This will ensure that things work smoothly going forward. You can actually name the project the same thing, you just need to put it into a different folder. Here’s how you do it.&lt;/P&gt;
&lt;P&gt;First &lt;STRONG&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/h2c9cdc0(VS.100).aspx#sectionToggle5" mce_href="http://msdn.microsoft.com/en-us/library/h2c9cdc0(VS.100).aspx#sectionToggle5"&gt;clean the solution to remove the registered Add-In&lt;/A&gt;&lt;/STRONG&gt;. From the menu select Build –&amp;gt; Clean NorthwindOutlookClient. &lt;/P&gt;
&lt;P&gt;Now since we have multiple projects in this solution you can right-click on the NorthwindOutlookClient in the Solution Explorer and then select Remove. Then close Visual Studio and open the folder where the NorthwindOutlookClient resides and rename that folder to NorthwindOutlookClient_OLD. Reopen the solution in Visual Studio. &lt;/P&gt;
&lt;P&gt;Next go to the main menu and select File –&amp;gt; Add –&amp;gt; New Project then make sure you select .NET Framework 4 and then choose Outlook 2010 Add-in and name it NorthwindOutlookClient. &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/MigratinganOutlookClienttoVisualStudio20_CB9A/image_14.png" mce_href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/MigratinganOutlookClienttoVisualStudio20_CB9A/image_14.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/MigratinganOutlookClienttoVisualStudio20_CB9A/image_thumb_6.png" width=683 height=472 mce_src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/MigratinganOutlookClienttoVisualStudio20_CB9A/image_thumb_6.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Next right-click on the project and select Set as StartUp Project. Then Add –&amp;gt; Existing Item and select all the code, app.config, .xaml and .gif files in the NorthwindOutlookClient_OLD directory:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/MigratinganOutlookClienttoVisualStudio20_CB9A/image_18.png" mce_href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/MigratinganOutlookClienttoVisualStudio20_CB9A/image_18.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/MigratinganOutlookClienttoVisualStudio20_CB9A/image_thumb_8.png" width=638 height=528 mce_src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/MigratinganOutlookClienttoVisualStudio20_CB9A/image_thumb_8.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;When prompted, say YES to overwrite ThisAddIn but say NO to overwrite ThisAddIn.Designer file. (Even though we didn’t select the designer file, it is automatically brought in when we select ThisAddin.) &lt;/P&gt;
&lt;P&gt;Next we need to re-add our Service Reference to our data service by right clicking and select Add –&amp;gt; Service Reference, click Discover button and then name the service the same thing, NorthwindService. &lt;/P&gt;
&lt;P&gt;Next make sure the .gif file is set to a Resource in the file properties. Select the file in the Solution Explorer and in the properties window set the Build Action to Resource.&lt;/P&gt;
&lt;P&gt;Finally, because we are using WPF controls in this solution, right-click and select Add Reference to add the .NET assembly references for System.Xaml, PresentationCore, PresentationFramework, WindowsBase and WindowsFormsIntegration.&lt;/P&gt;
&lt;H4&gt;&lt;STRONG&gt;Back to Migrating the Form Region&lt;/STRONG&gt;&lt;/H4&gt;
&lt;P&gt;Now you can get back to upgrading your Form Region as explained in &lt;A href="http://msdn.microsoft.com/en-us/library/ee207231(VS.100).aspx#outlook" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee207231(VS.100).aspx#outlook"&gt;steps 5-8 &lt;/A&gt;. Add a new Form Region by selecting Project –&amp;gt; Add New Item and then selecting Form Region (now you’ll see the right templates). Walk through the wizard and then Show All Files again to open the designer generated file and grab the code for the two partial classes (note that the factory is an embedded class): &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/MigratinganOutlookClienttoVisualStudio20_CB9A/image_12.png" mce_href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/MigratinganOutlookClienttoVisualStudio20_CB9A/image_12.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/MigratinganOutlookClienttoVisualStudio20_CB9A/image_thumb_5.png" width=462 height=492 mce_src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/MigratinganOutlookClienttoVisualStudio20_CB9A/image_thumb_5.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;It’s not too painful to change your original code once you get the right template for it. You just need to make sure that after you paste in these two partial classes, you update all instances of the class name with yours. In our case the name of the Form Region is EmailForm so the updated code back in the NorthwindOutlookClient project will look like this (I know it’s ugly that’s why it’s designer generated ;-). As an aside, look at where underscores are still necessary to resolve ambiguity if there is a line break):&lt;/P&gt;&lt;PRE class=code&gt;&lt;SPAN style="COLOR: blue"&gt;Partial Public Class &lt;/SPAN&gt;&lt;SPAN style="COLOR: #2b91af"&gt;EmailFormFactory
    &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;Implements &lt;/SPAN&gt;Microsoft.Office.Tools.Outlook.&lt;SPAN style="COLOR: #2b91af"&gt;IFormRegionFactory

    &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;Public Event &lt;/SPAN&gt;FormRegionInitializing &lt;SPAN style="COLOR: blue"&gt;As  &lt;/SPAN&gt;_
        Microsoft.Office.Tools.Outlook.&lt;SPAN style="COLOR: #2b91af"&gt;FormRegionInitializingEventHandler

    &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;Private &lt;/SPAN&gt;_Manifest &lt;SPAN style="COLOR: blue"&gt;As &lt;/SPAN&gt;Microsoft.Office.Tools.Outlook.&lt;SPAN style="COLOR: #2b91af"&gt;FormRegionManifest

    &lt;/SPAN&gt;&amp;lt;System.Diagnostics.&lt;SPAN style="COLOR: #2b91af"&gt;DebuggerNonUserCodeAttribute&lt;/SPAN&gt;()&amp;gt; _
    &lt;SPAN style="COLOR: blue"&gt;Public Sub New&lt;/SPAN&gt;()
        &lt;SPAN style="COLOR: blue"&gt;Me&lt;/SPAN&gt;._Manifest = &lt;SPAN style="COLOR: #2b91af"&gt;Globals&lt;/SPAN&gt;.Factory.CreateFormRegionManifest()
        &lt;SPAN style="COLOR: #2b91af"&gt;EmailForm&lt;/SPAN&gt;.InitializeManifest(&lt;SPAN style="COLOR: blue"&gt;Me&lt;/SPAN&gt;._Manifest, &lt;SPAN style="COLOR: #2b91af"&gt;Globals&lt;/SPAN&gt;.Factory)
    &lt;SPAN style="COLOR: blue"&gt;End Sub

    &lt;/SPAN&gt;&amp;lt;System.Diagnostics.&lt;SPAN style="COLOR: #2b91af"&gt;DebuggerNonUserCodeAttribute&lt;/SPAN&gt;()&amp;gt; _
    &lt;SPAN style="COLOR: blue"&gt;ReadOnly Property &lt;/SPAN&gt;Manifest() &lt;SPAN style="COLOR: blue"&gt;As &lt;/SPAN&gt;Microsoft.Office.Tools.Outlook.&lt;SPAN style="COLOR: #2b91af"&gt;FormRegionManifest &lt;/SPAN&gt;_
             &lt;SPAN style="COLOR: blue"&gt;Implements &lt;/SPAN&gt;Microsoft.Office.Tools.Outlook.&lt;SPAN style="COLOR: #2b91af"&gt;IFormRegionFactory&lt;/SPAN&gt;.Manifest
        &lt;SPAN style="COLOR: blue"&gt;Get
            Return Me&lt;/SPAN&gt;._Manifest
        &lt;SPAN style="COLOR: blue"&gt;End Get
    End Property

    &lt;/SPAN&gt;&amp;lt;System.Diagnostics.&lt;SPAN style="COLOR: #2b91af"&gt;DebuggerNonUserCodeAttribute&lt;/SPAN&gt;()&amp;gt; _
   &lt;SPAN style="COLOR: blue"&gt;Function &lt;/SPAN&gt;CreateFormRegion(&lt;SPAN style="COLOR: blue"&gt;ByVal &lt;/SPAN&gt;formRegion &lt;SPAN style="COLOR: blue"&gt;As &lt;/SPAN&gt;Microsoft.Office.Interop.Outlook.FormRegion) &lt;SPAN style="COLOR: blue"&gt;As &lt;/SPAN&gt;_
             Microsoft.Office.Tools.Outlook.&lt;SPAN style="COLOR: #2b91af"&gt;IFormRegion &lt;/SPAN&gt;_
             &lt;SPAN style="COLOR: blue"&gt;Implements &lt;/SPAN&gt;Microsoft.Office.Tools.Outlook.&lt;SPAN style="COLOR: #2b91af"&gt;IFormRegionFactory&lt;/SPAN&gt;.CreateFormRegion&lt;/PRE&gt;&lt;PRE class=code&gt;        &lt;SPAN style="COLOR: blue"&gt;Dim &lt;/SPAN&gt;form &lt;SPAN style="COLOR: blue"&gt;As &lt;/SPAN&gt;&lt;SPAN style="COLOR: #2b91af"&gt;EmailForm &lt;/SPAN&gt;= &lt;SPAN style="COLOR: blue"&gt;New &lt;/SPAN&gt;&lt;SPAN style="COLOR: #2b91af"&gt;EmailForm&lt;/SPAN&gt;(formRegion)
        form.Factory = &lt;SPAN style="COLOR: blue"&gt;Me
        Return &lt;/SPAN&gt;form
    &lt;SPAN style="COLOR: blue"&gt;End Function

    &lt;/SPAN&gt;&amp;lt;System.Diagnostics.&lt;SPAN style="COLOR: #2b91af"&gt;DebuggerNonUserCodeAttribute&lt;/SPAN&gt;()&amp;gt; _
    &lt;SPAN style="COLOR: blue"&gt;Function &lt;/SPAN&gt;GetFormRegionStorage(&lt;SPAN style="COLOR: blue"&gt;ByVal &lt;/SPAN&gt;outlookItem &lt;SPAN style="COLOR: blue"&gt;As Object&lt;/SPAN&gt;,
                  &lt;SPAN style="COLOR: blue"&gt;ByVal &lt;/SPAN&gt;formRegionMode &lt;SPAN style="COLOR: blue"&gt;As &lt;/SPAN&gt;Microsoft.Office.Interop.Outlook.OlFormRegionMode,
                  &lt;SPAN style="COLOR: blue"&gt;ByVal &lt;/SPAN&gt;formRegionSize &lt;SPAN style="COLOR: blue"&gt;As &lt;/SPAN&gt;Microsoft.Office.Interop.Outlook.OlFormRegionSize) _&lt;BR&gt;             &lt;SPAN style="COLOR: blue"&gt;As Byte&lt;/SPAN&gt;() _&lt;BR&gt;             &lt;SPAN style="COLOR: blue"&gt;Implements &lt;/SPAN&gt;Microsoft.Office.Tools.Outlook.&lt;SPAN style="COLOR: #2b91af"&gt;IFormRegionFactory&lt;/SPAN&gt;.GetFormRegionStorage

        &lt;SPAN style="COLOR: blue"&gt;Throw New &lt;/SPAN&gt;System.&lt;SPAN style="COLOR: #2b91af"&gt;NotSupportedException&lt;/SPAN&gt;()
    &lt;SPAN style="COLOR: blue"&gt;End Function

    &lt;/SPAN&gt;&amp;lt;System.Diagnostics.&lt;SPAN style="COLOR: #2b91af"&gt;DebuggerNonUserCodeAttribute&lt;/SPAN&gt;()&amp;gt; _
    &lt;SPAN style="COLOR: blue"&gt;Function &lt;/SPAN&gt;IsDisplayedForItem(&lt;SPAN style="COLOR: blue"&gt;ByVal &lt;/SPAN&gt;outlookItem &lt;SPAN style="COLOR: blue"&gt;As Object&lt;/SPAN&gt;,
                &lt;SPAN style="COLOR: blue"&gt;ByVal &lt;/SPAN&gt;formRegionMode &lt;SPAN style="COLOR: blue"&gt;As &lt;/SPAN&gt;Microsoft.Office.Interop.Outlook.OlFormRegionMode,
                &lt;SPAN style="COLOR: blue"&gt;ByVal &lt;/SPAN&gt;formRegionSize &lt;SPAN style="COLOR: blue"&gt;As &lt;/SPAN&gt;Microsoft.Office.Interop.Outlook.OlFormRegionSize) _
            &lt;SPAN style="COLOR: blue"&gt;As Boolean _&lt;BR&gt;            Implements &lt;/SPAN&gt;Microsoft.Office.Tools.Outlook.&lt;SPAN style="COLOR: #2b91af"&gt;IFormRegionFactory&lt;/SPAN&gt;.IsDisplayedForItem

        &lt;SPAN style="COLOR: blue"&gt;Dim &lt;/SPAN&gt;cancelArgs &lt;SPAN style="COLOR: blue"&gt;As &lt;/SPAN&gt;Microsoft.Office.Tools.Outlook.&lt;SPAN style="COLOR: #2b91af"&gt;FormRegionInitializingEventArgs &lt;/SPAN&gt;=
            &lt;SPAN style="COLOR: #2b91af"&gt;Globals&lt;/SPAN&gt;.Factory.CreateFormRegionInitializingEventArgs(outlookItem,
                                                                  formRegionMode,
                                                                  formRegionSize,
                                                                  &lt;SPAN style="COLOR: blue"&gt;False&lt;/SPAN&gt;)
        cancelArgs.Cancel = &lt;SPAN style="COLOR: blue"&gt;False
        RaiseEvent &lt;/SPAN&gt;FormRegionInitializing(&lt;SPAN style="COLOR: blue"&gt;Me&lt;/SPAN&gt;, cancelArgs)
        &lt;SPAN style="COLOR: blue"&gt;Return Not &lt;/SPAN&gt;cancelArgs.Cancel
    &lt;SPAN style="COLOR: blue"&gt;End Function

    &lt;/SPAN&gt;&amp;lt;System.Diagnostics.&lt;SPAN style="COLOR: #2b91af"&gt;DebuggerNonUserCodeAttribute&lt;/SPAN&gt;()&amp;gt; _
    &lt;SPAN style="COLOR: blue"&gt;ReadOnly Property &lt;/SPAN&gt;Kind() &lt;SPAN style="COLOR: blue"&gt;As &lt;/SPAN&gt;Microsoft.Office.Tools.Outlook.&lt;SPAN style="COLOR: #2b91af"&gt;FormRegionKindConstants &lt;/SPAN&gt;_
             &lt;SPAN style="COLOR: blue"&gt;Implements &lt;/SPAN&gt;Microsoft.Office.Tools.Outlook.&lt;SPAN style="COLOR: #2b91af"&gt;IFormRegionFactory&lt;/SPAN&gt;.Kind
        &lt;SPAN style="COLOR: blue"&gt;Get
            Return &lt;/SPAN&gt;Microsoft.Office.Tools.Outlook.&lt;SPAN style="COLOR: #2b91af"&gt;FormRegionKindConstants&lt;/SPAN&gt;.WindowsForms
        &lt;SPAN style="COLOR: blue"&gt;End Get
    End Property
End Class
End Class

Partial Class &lt;/SPAN&gt;&lt;SPAN style="COLOR: #2b91af"&gt;WindowFormRegionCollection

    &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;Friend ReadOnly Property &lt;/SPAN&gt;EmailForm() &lt;SPAN style="COLOR: blue"&gt;As &lt;/SPAN&gt;&lt;SPAN style="COLOR: #2b91af"&gt;EmailForm
        &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;Get
            For Each &lt;/SPAN&gt;Item &lt;SPAN style="COLOR: blue"&gt;As Object In Me
                If &lt;/SPAN&gt;(&lt;SPAN style="COLOR: blue"&gt;TypeOf &lt;/SPAN&gt;(Item) &lt;SPAN style="COLOR: blue"&gt;Is &lt;/SPAN&gt;&lt;SPAN style="COLOR: #2b91af"&gt;EmailForm&lt;/SPAN&gt;) &lt;SPAN style="COLOR: blue"&gt;Then
                    Return CType&lt;/SPAN&gt;(Item, NorthwindOutlookClient.&lt;SPAN style="COLOR: #2b91af"&gt;EmailForm&lt;/SPAN&gt;)
                &lt;SPAN style="COLOR: blue"&gt;End If
            Next
            Return Nothing
        End Get
    End Property
End Class&lt;/SPAN&gt;&lt;/PRE&gt;
&lt;P&gt;Now it looks like all our project errors have disappeared (thanks to Visual Basic’s background compiler). However if you didn’t create a brand new project like I explained above in order to work around that migration bug, then when you rebuild the solution you’ll see the build still fails. In this case we have one more thing to do.&lt;/P&gt;
&lt;H4&gt;&lt;STRONG&gt;Removing the SecurityTransparent Attribute &lt;/STRONG&gt;&lt;/H4&gt;
&lt;P&gt;The next section of the documentation on upgrading Office solutions has information on how to &lt;A href="http://msdn.microsoft.com/en-us/library/ee207231(VS.100).aspx#upgrade" mce_href="http://msdn.microsoft.com/en-us/library/ee207231(VS.100).aspx#upgrade"&gt;Remove the SecurityTransparent attribute from Office Projects that you upgrade from Visual Studio 2008&lt;/A&gt;. Under My Project node in the Solution Explorer, open up the AssemblyInfo file and you’ll see at the bottom the SecurityTransparent attribute. Remove that line of code. If you created a new project based on .NET 4 from the get-go this file will already be correct. &lt;/P&gt;
&lt;H4&gt;&lt;STRONG&gt;Run it!&lt;/STRONG&gt;&lt;/H4&gt;
&lt;P&gt;Now you should be able to rebuild the project and it will succeed. Hit F5 and now we have the Outlook client working and looking as before, but now we are targeting the .NET framework 4 and we have all the new features at our disposal. &lt;/P&gt;
&lt;P&gt;As you can see there are some manual steps to migrating Office solutions to the .NET Framework 4, but once you are familiar with the changes, it’s pretty straightforward. Keep in mind that if you are migrating your own solutions and you have code that loads form regions and/or ribbons dynamically at runtime you will also have to update that code as well to use the factory methods and interfaces instead of classes, &lt;A href="http://msdn.microsoft.com/en-us/library/ee207231(VS.100).aspx" mce_href="http://msdn.microsoft.com/en-us/library/ee207231(VS.100).aspx"&gt;take a look at the documentation for details&lt;/A&gt;. Hopefully dealing with a little migration pain now will pay off in the long run to you and your users. &lt;/P&gt;
&lt;H4&gt;Resources&lt;/H4&gt;
&lt;P&gt;For more information on building Office solutions with Visual Studio please check out:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Office Development with Visual Studio Developer Center on MSDN = &lt;A href="http://msdn.com/vsto" mce_href="http://msdn.com/vsto"&gt;http://msdn.com/vsto&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;Visual Studio Tools for Office Team Blog = &lt;A href="http://blogs.msdn.com/vsto" mce_href="http://blogs.msdn.com/vsto"&gt;http://blogs.msdn.com/vsto&lt;/A&gt; &lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/vsto/ee676911.aspx" mce_href="http://msdn.microsoft.com/en-us/vsto/ee676911.aspx"&gt;Visual Studio 2010 Resources&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;For more information on underscores in Visual Basic 10 in Visual Studio 2010 see:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://channel9.msdn.com/posts/funkyonex/No-More-Underscrores-in-Visual-Basic-10/" mce_href="http://channel9.msdn.com/posts/funkyonex/No-More-Underscrores-in-Visual-Basic-10/"&gt;No More Underscores in Visual Basic 10&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/vbasic/ee681551.aspx" mce_href="http://msdn.microsoft.com/en-us/vbasic/ee681551.aspx"&gt;How Do I: Use Implicit Line Continuation in Visual Basic 10?&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/vbasic/dd819153.aspx" mce_href="http://msdn.microsoft.com/en-us/vbasic/dd819153.aspx"&gt;Visual Basic 2010 Resources&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Enjoy!&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9937506" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/bethmassi/archive/tags/Visual+Basic/default.aspx">Visual Basic</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/WPF/default.aspx">WPF</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/DevCenter/default.aspx">DevCenter</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/Article/default.aspx">Article</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/Office/default.aspx">Office</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/VS2010/default.aspx">VS2010</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/VSTO/default.aspx">VSTO</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/OBA/default.aspx">OBA</category></item><item><title>Office Development with Visual Studio Tutorial Series – Part 2</title><link>http://blogs.msdn.com/bethmassi/archive/2009/12/08/office-development-with-visual-studio-2008-tutorial-series-part-2.aspx</link><pubDate>Tue, 08 Dec 2009 18:51:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9934207</guid><dc:creator>Beth Massi</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/bethmassi/comments/9934207.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bethmassi/commentrss.aspx?PostID=9934207</wfw:commentRss><wfw:comment>http://blogs.msdn.com/bethmassi/rsscomments.aspx?PostID=9934207</wfw:comment><description>&lt;P&gt;Last month &lt;A href="https://mvp.support.microsoft.com/profile=169AE602-45EF-47E6-8868-CA3E91D0A1EE" mce_href="https://mvp.support.microsoft.com/profile=169AE602-45EF-47E6-8868-CA3E91D0A1EE"&gt;Robert Green&lt;/A&gt;, VSTO MVP, started a series of tutorials on building on Office 2007. Today we published part 2 of his step-by-step tutorials. Thanks Robert!&lt;/P&gt;
&lt;P&gt;In this second part of the series of tutorials on Office Business Applications, learn how to create a Word 2007 price quote generation solution using Visual Studio 2008. This tutorial shows you how to create a custom task pane to display data from a database and binding that data to content controls. This step-by-step tutorial also includes full source code in Visual Basic. Check out the tutorial on the &lt;A href="http://msdn.microsoft.com/en-us/vsto/ee620548.aspx" mce_href="http://msdn.microsoft.com/en-us/vsto/ee620548.aspx"&gt;VSTO Developer Center&lt;/A&gt;: &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;A href="http://msdn.microsoft.com/en-us/vsto/ee861194.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/vsto/ee861194.aspx"&gt;Building an Office Business Application Part 2 – Generating Automobile Quotes&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;And if you missed part 1:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://msdn.microsoft.com/en-us/vsto/ee620548.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/vsto/ee620548.aspx"&gt;Building an Office Business Application Part 1 - Scheduling Customer Appointments&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;If you’re just getting started with Office development in Visual Studio, this is a great place to start.&lt;/P&gt;
&lt;P&gt;Enjoy!&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9934207" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/bethmassi/archive/tags/VS2008/default.aspx">VS2008</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/Community/default.aspx">Community</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/DevCenter/default.aspx">DevCenter</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/Article/default.aspx">Article</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/Office/default.aspx">Office</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/VSTO/default.aspx">VSTO</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/OBA/default.aspx">OBA</category></item><item><title>Setting up Windows 7 for Office &amp; SharePoint 2010 Beta Development</title><link>http://blogs.msdn.com/bethmassi/archive/2009/12/02/setting-up-windows-7-for-office-sharepoint-2010-beta-development.aspx</link><pubDate>Thu, 03 Dec 2009 03:16:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9931766</guid><dc:creator>Beth Massi</dc:creator><slash:comments>5</slash:comments><comments>http://blogs.msdn.com/bethmassi/comments/9931766.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bethmassi/commentrss.aspx?PostID=9931766</wfw:commentRss><wfw:comment>http://blogs.msdn.com/bethmassi/rsscomments.aspx?PostID=9931766</wfw:comment><description>&lt;P&gt;So I decided to get my Windows 7 laptop installed with all the latest public Betas this week which includes Visual Studio Beta 2, SharePoint 2010 Beta and Office 2010 Beta. I had been using internal builds and thought it would be better to get in sync with everyone else in the community. I have to say there were a couple bumps that I experienced along the way that had me scratching my head and searching the web so I thought I’d consolidate all the resources I found and document the steps I did which resulted in a successful install. There is a lot of information out there depending on how you want to configure your system and I’m definitely not going to cover all the possibilities, I’m just going to focus on setting up a Windows 7 development environment and what worked for me in hopes of saving some time for other folks out there. &lt;STRONG&gt;As always, your mileage may vary.&lt;/STRONG&gt; &lt;/P&gt;
&lt;P&gt;&lt;EM&gt;NOTE: If you don’t plan on doing any SharePoint development then the install of Visual Studio and Office 2010 should be very smooth. I only experienced issues installing SharePoint 2010 Beta on my Windows 7 development machine. Also be aware that SharePoint 2010 Beta is supported on Windows 7 (and Vista) only for development purposes. So you will still need to have a testing environment built on Windows 2008 Server (or R2). For more information please see, &lt;A href="http://msdn.microsoft.com/en-us/library/ee554869(office.14).aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee554869(office.14).aspx"&gt;Setting Up the Development Environment for SharePoint Server&lt;/A&gt; , &lt;A href="http://technet.microsoft.com/en-us/library/cc262957(office.14).aspx" target=_blank mce_href="http://technet.microsoft.com/en-us/library/cc262957(office.14).aspx"&gt;SharePoint Deployment&lt;/A&gt;, &lt;A href="http://technet.microsoft.com/en-us/library/cc262485(office.14).aspx" target=_blank mce_href="http://technet.microsoft.com/en-us/library/cc262485(office.14).aspx"&gt;Determine hardware and software requirements&lt;/A&gt; and &lt;A href="http://blogs.msdn.com/sharepointdeveloperdocs/archive/2009/11/20/sharepoint-2010-beta-release-known-issues.aspx" target=_blank mce_href="http://blogs.msdn.com/sharepointdeveloperdocs/archive/2009/11/20/sharepoint-2010-beta-release-known-issues.aspx"&gt;SharePoint 2010 Beta Release Known Issues&lt;/A&gt;.&lt;/EM&gt;&lt;/P&gt;
&lt;H4&gt;&lt;STRONG&gt;OS Requirements &amp;amp; Boot From VHD&lt;/STRONG&gt;&lt;/H4&gt;
&lt;P&gt;Before you attempt to set up a Windows 7 development environment, I &lt;STRONG&gt;highly &lt;/STRONG&gt;recommend booting from VHD. Do yourself a favor and create a Windows 7 bootable VHD so that if you mess up any part of an install you can simply delete it/roll back and start over. There’s a lot of information out there on how to do this but &lt;A href="http://blogs.technet.com/aviraj/archive/2009/01/18/windows-7-boot-from-vhd-first-impression-part-2.aspx" target=_blank mce_href="http://blogs.technet.com/aviraj/archive/2009/01/18/windows-7-boot-from-vhd-first-impression-part-2.aspx"&gt;I used these instructions to create a Win7 64-bit VHD&lt;/A&gt; via Hyper-V, sysprep-ed it, copied it to my local hard drive, and then used BCDEdit to add the VHD to my boot menu. &lt;/P&gt;
&lt;P&gt;Make sure you create a 64-bit Windows 7 Professional or higher edition with at least 4GB RAM if you’re going to do SharePoint development. You'll need Windows 7 Enterprise or Ultimate to boot from VHD.&lt;/P&gt;
&lt;H4&gt;&lt;STRONG&gt;What to Install - SharePoint Foundation or SharePoint Server?&lt;/STRONG&gt;&lt;/H4&gt;
&lt;P&gt;There are two versions of SharePoint that you can choose to install. It’s recommend that you install SharePoint Foundation (formerly known as WSS) if you only have 4 GB of RAM on your machine because there’s a lot less services running than the Server version (formerly known as MOSS). But if you need all the functionality of SharePoint Server then make sure you have enough of RAM. Just for fun I installed the Server version on my machine with only 4GB and it’s maxed out at 95% so I went with Foundation in the end. :-) &lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=906c9f5a-6505-4eba-bf24-95e423ac1703&amp;amp;displaylang=en" target=_blank mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyID=906c9f5a-6505-4eba-bf24-95e423ac1703&amp;amp;displaylang=en"&gt;Download Microsoft SharePoint Foundation 2010 Beta here&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=77c30c6c-47fc-416d-88e7-8122534b3f37" target=_blank mce_href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=77c30c6c-47fc-416d-88e7-8122534b3f37"&gt;Download Microsoft SharePoint Server 2010 Beta here.&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Note that you do not need to register or obtain a product key for installing SharePoint Foundation but you do for Server. The Product Key for Server is located at the bottom of the download page after you register (I missed it the first time so make sure you grab that before installing). &lt;/P&gt;
&lt;H4&gt;&lt;IMG style="DISPLAY: inline; MARGIN-LEFT: 0px; MARGIN-RIGHT: 0px" align=left src="http://i.msdn.microsoft.com/ee402630.Sharepoint_lg(en-us,MSDN.10).png" mce_src="http://i.msdn.microsoft.com/ee402630.Sharepoint_lg(en-us,MSDN.10).png"&gt; &lt;BR&gt;Installing SharePoint 2010 Beta on Windows 7&lt;/H4&gt;
&lt;P&gt;&lt;BR&gt;Read these instructions carefully: &lt;A href="http://msdn.microsoft.com/en-us/library/ee554869(office.14).aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee554869(office.14).aspx"&gt;Setting Up the Development Environment for SharePoint Server&lt;/A&gt;&lt;STRONG&gt;&lt;/STRONG&gt;.&lt;STRONG&gt;&amp;nbsp;&lt;/STRONG&gt;These are the instructions you’ll need to follow with a few additions I’ve added below as you go. Now that you’ve got your 64-bit Windows 7 VHD (are logged in as an administrator account) and downloaded SharePoint 2010 Beta you’re ready to proceed to Step 2 in the instructions. &lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Step 2: Install the Prerequisites for SharePoint 2010&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;There are a lot of prerequisites that you’ll need to install before you get to actually installing the SharePoint Beta. Follow all the instructions in Step 2 exactly as it says for Windows 7 to install all the prereqs and Windows features. But note that figure 3 in bullet #9 is incorrect. WCF Non-HTTP Activation should appear as checked. The script in bullet #8 is correct, it’s just a problem with the screenshot so don’t get confused. &lt;/P&gt;
&lt;P&gt;Next reboot. &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;BEFORE &lt;/STRONG&gt;going to Step 3, you will need to install a WCF hotfix &lt;A href="http://blogs.msdn.com/sharepointdeveloperdocs/archive/2009/11/20/sharepoint-2010-beta-release-known-issues.aspx" target=_blank mce_href="http://blogs.msdn.com/sharepointdeveloperdocs/archive/2009/11/20/sharepoint-2010-beta-release-known-issues.aspx"&gt;as described in this post&lt;/A&gt; which fixes an "Unrecognized attribute 'allowInsecureTransport'" error. The WCF &lt;A href="http://go.microsoft.com/fwlink/?LinkID=166231" target=_blank mce_href="http://go.microsoft.com/fwlink/?LinkID=166231"&gt;hotfix for Windows 7 is available here&lt;/A&gt;. After installing this hotfix, reboot.&lt;/P&gt;
&lt;P&gt;Now you’re at Step 3 and ready to install SharePoint. &lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Step 3: Install SharePoint 2010&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;Follow the instructions listed in this step to install SharePoint until you get to bullet #5. When you get here, you need to download and install the &lt;A href="http://support.microsoft.com/kb/970315" target=_blank mce_href="http://support.microsoft.com/kb/970315"&gt;SQL Server 2008 KB 970315 x64&lt;/A&gt; hotfix SQL_Server_2008_SP1_Cumulative_Update_2 build &lt;BR&gt;10.00.2714.00 which you get to by clicking the &lt;A href="http://support.microsoft.com/hotfix/KBHotfix.aspx?kbnum=970315&amp;amp;kbln=en-us" target=_blank mce_href="http://support.microsoft.com/hotfix/KBHotfix.aspx?kbnum=970315&amp;amp;kbln=en-us"&gt;View and request hotfix downloads&lt;/A&gt;&lt;EM&gt;&lt;/EM&gt; link at the top of the KB article. &lt;/P&gt;
&lt;P&gt;When installing this though I got the error "Invoke or BeginInvoke cannot be called on a control until the window handle has been created." To resolve it, I closed the all open windows including the SharePoint Configuration wizard (which is sitting open after SharePoint is installed) and then I reran the hotfix. Not sure what is going on here but it looks like it’s a &lt;A href="http://blogs.msdn.com/petersad/archive/2009/08/14/invoke-or-begininvoke-cannot-be-called-on-a-control-until-the-window-handle-has-been-created.aspx" target=_blank mce_href="http://blogs.msdn.com/petersad/archive/2009/08/14/invoke-or-begininvoke-cannot-be-called-on-a-control-until-the-window-handle-has-been-created.aspx"&gt;known issue on Win 7 64 according to this post&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;After that successfully installed I rebooted again. &lt;/P&gt;
&lt;P&gt;Now you need to run the SharePoint Configuration wizard, Start –&amp;gt; Programs –&amp;gt; Microsoft SharePoint 2010 Products –&amp;gt; SharePoint 2010 Products Configuration. &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Note to domain users:&lt;/STRONG&gt; If you are installing as an administrator but your account is part of a domain, you will need to make sure you have online access to the domain controller! Otherwise configuration will fail on Step 2 with “Exception: Microsoft.SharePoint.SPException: User cannot be found.” This happens even though you select to install the standalone version. This bit me because I was installing on a laptop at home and was not on the corporate domain. I had to start my VPN and then I was good to go, until step 5 that is. ;-) &lt;/P&gt;
&lt;P&gt;On Step 5 I ran into another error “Failed to register SharePoint services. An exception of type System.ServiceProcess.TimeoutException was thrown.” This happened when I was installing the Server version and not Foundation. However &lt;A href="http://social.msdn.microsoft.com/Forums/en-US/sharepoint2010general/thread/d5bc40dc-88cf-42b5-8a6c-120e5a8e1dc4" target=_blank mce_href="http://social.msdn.microsoft.com/Forums/en-US/sharepoint2010general/thread/d5bc40dc-88cf-42b5-8a6c-120e5a8e1dc4"&gt;I found a thread&lt;/A&gt; that told me this is related to low memory so I closed some other programs I had running and tried it again and it ran fine. This is why you should make sure you have enough memory before starting. ;-)&lt;/P&gt;
&lt;P&gt;You made it! SharePoint 2010 Beta should now be installed. To verify, open your browser to http://&lt;EM&gt;&amp;lt;MachineName&amp;gt; &lt;/EM&gt;and you should be able to start playing with your new SharePoint site. &lt;STRONG&gt;&lt;IMG style="MARGIN: 0px 10px 0px 0px; DISPLAY: inline" align=left src="http://i.msdn.microsoft.com/ee402630.VisualStudio_lg(en-us,MSDN.10).png" mce_src="http://i.msdn.microsoft.com/ee402630.VisualStudio_lg(en-us,MSDN.10).png"&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;
&lt;H4&gt;Installing Visual Studio 2010 Beta 2&lt;/H4&gt;
&lt;P&gt;&lt;BR&gt;Everything should be super easy to install now but just in case you may want to save your VHD after you get SharePoint successfully installed ;-). &lt;/P&gt;
&lt;P&gt;You’ll need Visual Studio 2010 Beta Professional edition or higher to work with Office &amp;amp; SharePoint. I just picked the whole she-bang, Visual Studio 2010 Ultimate. I used the web installer but you can also choose the ISO package if you want to bring it all down once. &lt;/P&gt;
&lt;P&gt;&lt;A href="http://go.microsoft.com/fwlink/?LinkID=165573" target=_blank mce_href="http://go.microsoft.com/fwlink/?LinkID=165573"&gt;Download Visual Studio 2010 Ultimate (web bootstrapper)&lt;/A&gt; (See &lt;A href="http://msdn.microsoft.com/en-us/vstudio/dd582936.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/vstudio/dd582936.aspx"&gt;this page for more&lt;/A&gt; download options).&lt;/P&gt;
&lt;P&gt;There was no hitch to install all the components of Visual Studio 2010 and .NET Framework 4. It took me about 35 minutes to wait for it to complete with one reboot in the middle. For more information, see the &lt;A href="http://go.microsoft.com/fwlink/?LinkID=166199" target=_blank mce_href="http://go.microsoft.com/fwlink/?LinkID=166199"&gt;Visual Studio 2010 Beta 2 Readme&lt;/A&gt;, &lt;A href="http://www.microsoft.com/visualstudio/en-us/products/2010/default.mspx" target=_blank mce_href="http://www.microsoft.com/visualstudio/en-us/products/2010/default.mspx"&gt;Visual Studio 2010 Product Information&lt;/A&gt; and &lt;A href="http://msdn.microsoft.com/en-us/vstudio/dd441784.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/vstudio/dd441784.aspx"&gt;Featured Overviews and Walkthroughs&lt;/A&gt;.&lt;/P&gt;
&lt;H4&gt;&lt;STRONG&gt;&lt;IMG style="MARGIN: 0px; DISPLAY: inline" align=left src="http://i.msdn.microsoft.com/ee402630.Office2010_lg(en-us,MSDN.10).png" mce_src="http://i.msdn.microsoft.com/ee402630.Office2010_lg(en-us,MSDN.10).png"&gt;&amp;nbsp; &lt;BR&gt;&lt;/STRONG&gt;Installing Microsoft Office 2010 Beta&lt;/H4&gt;
&lt;P&gt;&lt;BR&gt;This one is probably the easiest to install. &lt;/P&gt;
&lt;P&gt;&lt;A title=http://msdn.microsoft.com/en-us/evalcenter/ee390822.aspx href="http://msdn.microsoft.com/en-us/evalcenter/ee390822.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/evalcenter/ee390822.aspx"&gt;Download Office 2010 Beta here.&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Scroll to the bottom of the page to get started. You’ll need to register and then you’ll get a product key page with a download button at the bottom. Save your product key and then select the language to download. Note that it says “&lt;EM&gt;Download the 32-bit (x86) version:&lt;/EM&gt;” but the download will include both 32-bit and 64-bit so don’t worry. &lt;/P&gt;
&lt;P&gt;Once you click the download button you’ll actually have to install a little download manager to get the setup package. Once you download the package, click on the ProfessionalPlus.exe to start the install. You’ll see a big button “Install Now”. Click that and in about 15 minutes you’ll have Office installed. It doesn’t get much easier than that.&lt;/P&gt;
&lt;H4&gt;&lt;STRONG&gt;Let ‘er Rip!&lt;A href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/SettingupWindows7forOfficeSharePoint2010_CA0B/spsite_4.png" target=_blank mce_href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/SettingupWindows7forOfficeSharePoint2010_CA0B/spsite_4.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; MARGIN: 0px 0px 0px 10px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=spsite border=0 alt=spsite align=right src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/SettingupWindows7forOfficeSharePoint2010_CA0B/spsite_thumb_1.png" width=341 height=362 mce_src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/SettingupWindows7forOfficeSharePoint2010_CA0B/spsite_thumb_1.png"&gt;&lt;/A&gt;&lt;/STRONG&gt;&lt;/H4&gt;
&lt;P&gt;Okay so you want to be able to test these things are all installed and playing happily. In order to develop against SharePoint you’ll need to open Visual Studio as &lt;STRONG&gt;run as Administrator. &lt;/STRONG&gt;Next, open the Server Explorer and you should see a SharePoint Connections node. Expand that node and you should be able to browse your SharePoint site.&lt;/P&gt;
&lt;P&gt;You should also explore some of the awesome new project templates under the Office &amp;gt; 2010 and SharePoint &amp;gt; 2010 nodes in the File &amp;gt; New Project dialog. &lt;/P&gt;
&lt;H4&gt;What’s Next?&lt;/H4&gt;
&lt;P&gt;Now it’s time for us to learn how to use these Office and SharePoint tools in Visual Studio! Check out some of my favorite resources:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Office 2010 Development Resources&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/vsto/ee676911.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/vsto/ee676911.aspx"&gt;Office Development in Visual Studio 2010 Beta Samples, Walkthroughs and Videos&lt;/A&gt; &lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://social.msdn.microsoft.com/Forums/en-US/officedevelopmentprerelease/threads" target=_blank mce_href="http://social.msdn.microsoft.com/Forums/en-US/officedevelopmentprerelease/threads"&gt;Office Development in Visual Studio 2010 Forums&lt;/A&gt; &lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://blogs.msdn.com/vsto/default.aspx" target=_blank mce_href="http://blogs.msdn.com/vsto/default.aspx"&gt;Office Development with Visual Studio Team Blog&lt;/A&gt;&amp;nbsp; &lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/office/ee513173.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/office/ee513173.aspx"&gt;Office 2010 Beta Resources&lt;/A&gt; &lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://blogs.technet.com/gray_knowlton/archive/2009/11/10/office-2010-application-compatibility-deep-dive-on-the-code-compatibility-inspector.aspx" target=_blank mce_href="http://blogs.technet.com/gray_knowlton/archive/2009/11/10/office-2010-application-compatibility-deep-dive-on-the-code-compatibility-inspector.aspx"&gt;Office 2010 Application Compatibility Tools&lt;/A&gt; &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;SharePoint 2010 Development Resources&lt;/STRONG&gt;&lt;/P&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/vstudio/dd441784.aspx#Sharepoint" target=_blank mce_href="http://msdn.microsoft.com/en-us/vstudio/dd441784.aspx#Sharepoint"&gt;SharePoint Development in Visual Studio 2010 Walkthroughs&lt;/A&gt; &lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://channel9.msdn.com/tags/Sharepoint+2010+Beta/" target=_blank mce_href="http://channel9.msdn.com/tags/Sharepoint+2010+Beta/"&gt;SharePoint Development in Visual Studio 2010 Videos&lt;/A&gt; &lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://social.msdn.microsoft.com/Forums/en-US/sharepointdevelopmentprerelease/threads" target=_blank mce_href="http://social.msdn.microsoft.com/Forums/en-US/sharepointdevelopmentprerelease/threads"&gt;SharePoint Development Forums&lt;/A&gt; &lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/sharepoint/ee513147.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/sharepoint/ee513147.aspx"&gt;SharePoint 2010 Development Resources&lt;/A&gt; &lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://blogs.msdn.com/sharepoint/" target=_blank mce_href="http://blogs.msdn.com/sharepoint/"&gt;SharePoint Team Blog&lt;/A&gt; 
&lt;P&gt;Enjoy!&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;/LI&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9931766" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/bethmassi/archive/tags/DevCenter/default.aspx">DevCenter</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/Article/default.aspx">Article</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/Office/default.aspx">Office</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/VS2010/default.aspx">VS2010</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/VSTO/default.aspx">VSTO</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/Windows+7/default.aspx">Windows 7</category></item><item><title>New Learning Resources on the VSTO Developer Center</title><link>http://blogs.msdn.com/bethmassi/archive/2009/12/01/new-learning-resources-on-the-vsto-developer-center.aspx</link><pubDate>Wed, 02 Dec 2009 01:43:20 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9931202</guid><dc:creator>Beth Massi</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/bethmassi/comments/9931202.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bethmassi/commentrss.aspx?PostID=9931202</wfw:commentRss><wfw:comment>http://blogs.msdn.com/bethmassi/rsscomments.aspx?PostID=9931202</wfw:comment><description>&lt;p&gt;Last week we revamped the &lt;a href="http://msdn.microsoft.com/en-us/vsto/dd162433.aspx" target="_blank"&gt;Learn pages on the VSTO Developer Center&lt;/a&gt; with more content that allows you to pivot on more fine-grained topics and tasks under each type of Office solution. We’ve changed the layout of these pages so that you can browse for a type of solution (right now we have &lt;a href="http://msdn.microsoft.com/en-us/vsto/dd162436.aspx" target="_blank"&gt;Excel&lt;/a&gt;, &lt;a href="http://msdn.microsoft.com/en-us/vsto/dd164295.aspx" target="_blank"&gt;Word&lt;/a&gt;, &lt;a href="http://msdn.microsoft.com/en-us/vsto/dd162450.aspx" target="_blank"&gt;Outlook&lt;/a&gt; and &lt;a href="http://msdn.microsoft.com/en-us/vsto/dd162450.aspx" target="_blank"&gt;Deployment&lt;/a&gt;) and then you can drill down into the specific topics to reveal articles and videos underneath. As you select a topic on the left, the content changes on the right so &lt;a href="http://msdn.microsoft.com/en-us/vsto/dd162436.aspx" target="_blank"&gt;check it out&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/NewLearningResourcesontheVSTODeveloperCe_F7BF/image_4.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/NewLearningResourcesontheVSTODeveloperCe_F7BF/image_thumb_1.png" width="674" height="430" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;We’ve gone through and picked key content in the &lt;a href="http://msdn.microsoft.com/en-us/library/d2tx7z6d.aspx" target="_blank"&gt;Visual Studio&lt;/a&gt; and &lt;a href="http://msdn.microsoft.com/en-us/library/bb726434.aspx" target="_blank"&gt;Office&lt;/a&gt; MSDN libraries, other Developer Centers and blogs to bring you a better integrated learning experience -- especially if you’re just getting started programming Office solutions with Visual Studio. Let me know what topics I’ve missed by making a comment to the end of this post or by &lt;a href="http://blogs.msdn.com/bethmassi/contact.aspx" target="_blank"&gt;contacting me directly&lt;/a&gt; and I’ll get them added. Also let me know how you like this layout, I’m planning on taking this approach to the &lt;a href="http://msdn.microsoft.com/en-us/vbasic/default.aspx" target="_blank"&gt;Visual Basic&lt;/a&gt; Developer Center as well. &lt;/p&gt;  &lt;p&gt;Enjoy!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9931202" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/bethmassi/archive/tags/Community/default.aspx">Community</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/DevCenter/default.aspx">DevCenter</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/Office/default.aspx">Office</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/VSTO/default.aspx">VSTO</category></item><item><title>Channel 9 Interview: Implementing a Silverlight SharePoint WebPart with Visual Studio 2010</title><link>http://blogs.msdn.com/bethmassi/archive/2009/11/25/channel-9-interview-implementing-a-silverlight-sharepoint-webpart-with-visual-studio-2010.aspx</link><pubDate>Wed, 25 Nov 2009 17:37:35 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9928676</guid><dc:creator>Beth Massi</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/bethmassi/comments/9928676.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bethmassi/commentrss.aspx?PostID=9928676</wfw:commentRss><wfw:comment>http://blogs.msdn.com/bethmassi/rsscomments.aspx?PostID=9928676</wfw:comment><description>&lt;p&gt;&lt;a href="http://channel9.msdn.com/posts/funkyonex/Implementing-a-Silverlight-SharePoint-WebPart-with-Visual-Studio-2010/" target="_blank"&gt;Mike Morton is back at it again&lt;/a&gt;, this time showing how easy it is to develop, package and deploy a Silverlight WebPart to SharePoint 2010. He also walks us through the solution, package and file properties available to you in Visual Studio 2010. You'll see me giggling in this one because I can't believe how easy it is. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Channel 9 Interview: &lt;/strong&gt;&lt;a href="http://channel9.msdn.com/posts/funkyonex/Implementing-a-Silverlight-SharePoint-WebPart-with-Visual-Studio-2010/"&gt;&lt;strong&gt;Implementing a Silverlight SharePoint WebPart with Visual Studio 2010&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;For more information on SharePoint Development in Visual Studio 2010 please see:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/vstudio/dd441784.aspx#Sharepoint"&gt;SharePoint Development in Visual Studio 2010 Walkthroughs&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://code.msdn.microsoft.com/SharePointDev2010"&gt;SharePoint Development in Visual Studio 2010 Samples&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/sharepoint/ee513147.aspx"&gt;SharePoint 2010 Development Resources&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/sharepoint"&gt;SharePoint Team Blog&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/vsto"&gt;Office Development in Visual Studio Team Blog&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Also if you missed them, check out these interviews as well:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://channel9.msdn.com/posts/funkyonex/Overview-of-SharePoint-Development-in-Visual-Studio-2010/"&gt;Overview of SharePoint Development in Visual Studio 2010&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://channel9.msdn.com/posts/funkyonex/Importing-SharePoint-Solution-Packages-WSP-into-Visual-Studio-2010/"&gt;Importing SharePoint Solution Packages (WSP) into Visual Studio 2010&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://channel9.msdn.com/posts/funkyonex/SharePoint-Feature-and-Package-Designers-in-Visual-Studio-2010/"&gt;SharePoint Feature and Package Designers in Visual Studio 2010&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://channel9.msdn.com/posts/funkyonex/Using-the-SharePoint-Business-Data-Connectivity-Designer-in-VS-2010/"&gt;Using the SharePoint Business Data Connectivity Designer in VS 2010 &lt;/a&gt;&lt;a href="http://channel9.msdn.com/posts/funkyonex/Using-the-SharePoint-Business-Data-Connectivity-Designer-in-VS-2010/"&gt;&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;And &lt;b&gt;please&lt;/b&gt; &lt;a href="http://social.msdn.microsoft.com/Forums/en-US/sharepointdevelopmentprerelease/threads"&gt;give us your feedback in the SharePoint Development Forums&lt;/a&gt;! &lt;/p&gt;  &lt;p&gt;Enjoy!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9928676" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/bethmassi/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/DevCenter/default.aspx">DevCenter</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/Channel9/default.aspx">Channel9</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/VS2010/default.aspx">VS2010</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/SharePoint/default.aspx">SharePoint</category></item><item><title>Channel 9 Interview: Using the SharePoint Business Data Connectivity Designer in VS 2010</title><link>http://blogs.msdn.com/bethmassi/archive/2009/11/23/channel-9-interview-using-the-sharepoint-business-data-connectivity-designer-in-vs-2010.aspx</link><pubDate>Mon, 23 Nov 2009 17:33:45 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9927399</guid><dc:creator>Beth Massi</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/bethmassi/comments/9927399.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bethmassi/commentrss.aspx?PostID=9927399</wfw:commentRss><wfw:comment>http://blogs.msdn.com/bethmassi/rsscomments.aspx?PostID=9927399</wfw:comment><description>&lt;p&gt;&lt;a href="http://channel9.msdn.com/posts/funkyonex/Using-the-SharePoint-Business-Data-Connectivity-Designer-in-VS-2010/" target="_blank"&gt;This time I interview a good friend of mine&lt;/a&gt;, Boris Scholl, a Program Manager on the Visual Studio Team building tools for SharePoint development. Boris shows off the new Business Data Connectivity designer in Visual Studio 2010 and how it allows you to describe data coming from multiple data sources and how to work with them in SharePoint. He builds a master/detail association across entities coming from separate data sources (a database and a service) and demonstrates how the entities can be displayed and edited. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Channel 9 Interview: &lt;/strong&gt;&lt;a href="http://channel9.msdn.com/posts/funkyonex/Using-the-SharePoint-Business-Data-Connectivity-Designer-in-VS-2010/"&gt;&lt;strong&gt;Using the SharePoint Business Data Connectivity Designer in Visual Studio 2010 &lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;For more information on SharePoint Development in Visual Studio 2010 please see:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/vstudio/dd441784.aspx#Sharepoint" target="_blank"&gt;SharePoint Development in Visual Studio 2010 Walkthroughs&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://code.msdn.microsoft.com/SharePointDev2010" target="_blank"&gt;SharePoint Development in Visual Studio 2010 Samples&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/sharepoint/ee513147.aspx" target="_blank"&gt;SharePoint 2010 Development Resources&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/sharepoint" target="_blank"&gt;SharePoint Team Blog&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/vsto" target="_blank"&gt;Office Development in Visual Studio Team Blog&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Also if you missed them, check out these interviews as well:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;b&gt;&lt;a href="http://channel9.msdn.com/posts/funkyonex/Overview-of-SharePoint-Development-in-Visual-Studio-2010/" target="_blank"&gt;Overview of SharePoint Development in Visual Studio 2010&lt;/a&gt;&lt;/b&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://channel9.msdn.com/posts/funkyonex/Importing-SharePoint-Solution-Packages-WSP-into-Visual-Studio-2010/" target="_blank"&gt;Importing SharePoint Solution Packages (WSP) into Visual Studio 2010&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://channel9.msdn.com/posts/funkyonex/SharePoint-Feature-and-Package-Designers-in-Visual-Studio-2010/"&gt;SharePoint Feature and Package Designers in Visual Studio 2010&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;And &lt;b&gt;please&lt;/b&gt; &lt;a href="http://social.msdn.microsoft.com/Forums/en-US/sharepointdevelopmentprerelease/threads" target="_blank"&gt;give us your feedback in the SharePoint Development Forums&lt;/a&gt;!     &lt;br /&gt;    &lt;br /&gt;Enjoy!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9927399" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/bethmassi/archive/tags/DevCenter/default.aspx">DevCenter</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/Channel9/default.aspx">Channel9</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/VS2010/default.aspx">VS2010</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/VSTO/default.aspx">VSTO</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/SharePoint/default.aspx">SharePoint</category></item><item><title>Channel 9 Interview: SharePoint Feature and Package Designers in Visual Studio 2010</title><link>http://blogs.msdn.com/bethmassi/archive/2009/11/19/channel-9-interview-sharepoint-feature-and-package-designers-in-visual-studio-2010.aspx</link><pubDate>Thu, 19 Nov 2009 18:21:30 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9925637</guid><dc:creator>Beth Massi</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/bethmassi/comments/9925637.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bethmassi/commentrss.aspx?PostID=9925637</wfw:commentRss><wfw:comment>http://blogs.msdn.com/bethmassi/rsscomments.aspx?PostID=9925637</wfw:comment><description>&lt;p&gt;&lt;a href="http://channel9.msdn.com/posts/funkyonex/SharePoint-Feature-and-Package-Designers-in-Visual-Studio-2010/" target="_blank"&gt;In this interview&lt;/a&gt; I sit down with Lily Ma, a Program Manager on the Visual Studio Team building tools for SharePoint development. Lily shows off the new SharePoint feature and package designers in Visual Studio 2010 and how they make packaging up and deploying your SharePoint customizations easy. As she dives deeper into the tools, she also demonstrates the flexibility and control you have in specifying what features go in what packages across projects in your solution as well as how to modify the manifests to meet a variety of developer needs. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Channel 9 Interview: &lt;/strong&gt;&lt;a href="http://channel9.msdn.com/posts/funkyonex/SharePoint-Feature-and-Package-Designers-in-Visual-Studio-2010/" target="_blank"&gt;&lt;strong&gt;SharePoint Feature and Package Designers in Visual Studio 2010&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Also if you missed it, check out these interviews as well:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://channel9.msdn.com/posts/funkyonex/Overview-of-SharePoint-Development-in-Visual-Studio-2010/" target="_blank"&gt;Overview of SharePoint Development in Visual Studio 2010&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://channel9.msdn.com/posts/funkyonex/Importing-SharePoint-Solution-Packages-WSP-into-Visual-Studio-2010/" target="_blank"&gt;Importing SharePoint Solution Packages (WSP) into Visual Studio 2010&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;For more information on SharePoint Development in Visual Studio 2010 please see:&lt;/p&gt;  &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/vstudio/dd441784.aspx#Sharepoint" target="_blank"&gt;SharePoint Development in Visual Studio 2010 Walkthroughs&lt;/a&gt; &lt;a href="http:///"&gt;&lt;/a&gt;&lt;/li&gt;  &lt;li&gt;&lt;a href="http://code.msdn.microsoft.com/SharePointDev2010"&gt;&lt;/a&gt;&lt;a href="http://code.msdn.microsoft.com/SharePointDev2010" target="_blank"&gt;SharePoint Development in Visual Studio 2010 Samples&lt;/a&gt;&lt;/li&gt;  &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/sharepoint/ee513147.aspx" target="_blank"&gt;SharePoint 2010 Development Resources&lt;/a&gt;&amp;#160;&lt;/li&gt;  &lt;li&gt;&lt;a href="http://blogs.msdn.com/sharepoint" target="_blank"&gt;SharePoint Team Blog&lt;/a&gt;&lt;/li&gt;  &lt;li&gt;&lt;a href="http://blogs.msdn.com/vsto" target="_blank"&gt;Office Development in Visual Studio Team Blog&lt;/a&gt;    &lt;p&gt;And &lt;b&gt;please&lt;/b&gt; &lt;a href="http://social.msdn.microsoft.com/Forums/en-US/sharepointdevelopmentprerelease/threads" target="_blank"&gt;give us your feedback in the SharePoint Development Forums&lt;/a&gt;! &lt;/p&gt;    &lt;p&gt;Enjoy!&lt;/p&gt; &lt;/li&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9925637" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/bethmassi/archive/tags/DevCenter/default.aspx">DevCenter</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/Channel9/default.aspx">Channel9</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/VS2010/default.aspx">VS2010</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/VSTO/default.aspx">VSTO</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/SharePoint/default.aspx">SharePoint</category></item><item><title>SF Bay.NET UG Tonight: Create a Custom Outlook Add-In using VSTO</title><link>http://blogs.msdn.com/bethmassi/archive/2009/11/18/sf-bay-net-ug-tonight-create-a-custom-outlook-add-in-using-vsto.aspx</link><pubDate>Wed, 18 Nov 2009 22:23:22 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9924788</guid><dc:creator>Beth Massi</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/bethmassi/comments/9924788.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bethmassi/commentrss.aspx?PostID=9924788</wfw:commentRss><wfw:comment>http://blogs.msdn.com/bethmassi/rsscomments.aspx?PostID=9924788</wfw:comment><description>&lt;p&gt;If you’re in the Bay Area, come on out to downtown SF where &lt;a href="http://robindotnet.wordpress.com/" target="_blank"&gt;Robin&lt;/a&gt; will be talking about Outlook Add-ins tonight. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.baynetug.org/DesktopModules/DetailXEvents.aspx?ItemID=393&amp;amp;mid=49" target="_blank"&gt;&lt;strong&gt;Create a custom Outlook Add-In using VSTO&lt;/strong&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;When&lt;/strong&gt;:&amp;#160; Wednesday, 11/18/2009 at 6:30 PM    &lt;br /&gt;&lt;strong&gt;Where&lt;/strong&gt;: Microsoft San Francisco Office, 835 Market Street, Suite 700, San Francisco&lt;/p&gt;  &lt;p&gt;Visual Studio 2008 and Office 2007 made it easier than ever to create add-ins for Office. In this session, Robin Shahan will show how to program an add-in for Outlook that modifies the Quick Access Toolbar, adds your own section to the Office Ribbon, and adds a command bar to the main Outlook window. Then she will show you how to deploy the application via ClickOnce deployment.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Presenter's Bio&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Robin Shahan has over 20 years of experience developing complex, business-critical applications. She is currently the Director of Engineering for GoldMail, a small company based in San Francisco whose product provides voice-over-visual messages. Robin is a moderator in the MSDN Forum for ClickOnce and Setup &amp;amp; Deployment projects, and vows to learn Windows Installer some day. She is also a Microsoft MVP in Client App Dev; you can follow her blog at &lt;a href="http://robindotnet.wordpress.com/" target="_blank"&gt;http://robindotnet.wordpress.com/&lt;/a&gt;, or on Twitter, @RobinDotNet.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.baynetug.org/DesktopModules/DetailXEvents.aspx?ItemID=393&amp;amp;mid=49" target="_blank"&gt;&lt;strong&gt;Register for this talk tonight on the Bay.NET website&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;See you there!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9924788" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/bethmassi/archive/tags/VS2008/default.aspx">VS2008</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/Community/default.aspx">Community</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/DevCenter/default.aspx">DevCenter</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/Office/default.aspx">Office</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/VS2010/default.aspx">VS2010</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/VSTO/default.aspx">VSTO</category></item><item><title>Channel 9 Interview: Importing SharePoint Solution Packages (WSP) into Visual Studio 2010</title><link>http://blogs.msdn.com/bethmassi/archive/2009/11/18/channel-9-interview-importing-sharepoint-solution-packages-wsp-into-visual-studio-2010.aspx</link><pubDate>Wed, 18 Nov 2009 20:47:10 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9924682</guid><dc:creator>Beth Massi</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/bethmassi/comments/9924682.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bethmassi/commentrss.aspx?PostID=9924682</wfw:commentRss><wfw:comment>http://blogs.msdn.com/bethmassi/rsscomments.aspx?PostID=9924682</wfw:comment><description>&lt;p&gt;&lt;a href="http://channel9.msdn.com/posts/funkyonex/Importing-SharePoint-Solution-Packages-WSP-into-Visual-Studio-2010/" target="_blank"&gt;In this interview&lt;/a&gt; I sit down with Saaid Khan, a Program Manager on the Visual Studio team developing tools for SharePoint development. Saaid shows us the WSP Import Wizard in Visual Studio 2010 that allows developers to take SharePoint Solution packages developed with SharePoint Designer and bring them into Visual Studio 2010 to further customize them there. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Channel 9 Interview: &lt;/strong&gt;&lt;a href="http://channel9.msdn.com/posts/funkyonex/Importing-SharePoint-Solution-Packages-WSP-into-Visual-Studio-2010/"&gt;&lt;strong&gt;Importing SharePoint Solution Packages (WSP) into Visual Studio 2010&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Also if you missed it, check out &lt;a href="http://channel9.msdn.com/posts/funkyonex/Overview-of-SharePoint-Development-in-Visual-Studio-2010/"&gt;Overview of SharePoint Development in Visual Studio 2010&lt;/a&gt; which I posted on Monday.&lt;/p&gt;  &lt;p&gt;For more information on SharePoint Development in Visual Studio 2010 please see:&lt;/p&gt;  &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/sharepoint/ee513147.aspx"&gt;SharePoint 2010 Development Resources &lt;/a&gt;&lt;a href="http:///"&gt;&lt;/a&gt;&lt;/li&gt;  &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/vstudio/dd441784.aspx#Sharepoint"&gt;SharePoint Development in Visual Studio 2010 Walkthroughs &lt;/a&gt;&lt;a href="http:///"&gt;&lt;/a&gt;&lt;/li&gt;  &lt;li&gt;&lt;a href="http://code.msdn.microsoft.com/SharePointDev2010"&gt;SharePoint Development in Visual Studio 2010 Samples&lt;/a&gt;&lt;a href="http://code.msdn.microsoft.com/SharePointDev2010"&gt;&lt;/a&gt;&lt;/li&gt;  &lt;li&gt;&lt;a href="http://blogs.msdn.com/sharepoint"&gt;SharePoint Team Blog&lt;/a&gt;&lt;/li&gt;  &lt;li&gt;&lt;a href="http://blogs.msdn.com/vsto"&gt;Office Development in Visual Studio Team Blog&lt;/a&gt;    &lt;p&gt;And &lt;b&gt;please&lt;/b&gt; &lt;a href="http://social.msdn.microsoft.com/Forums/en-US/sharepointdevelopmentprerelease/threads"&gt;give us your feedback in the SharePoint Development Forums&lt;/a&gt;! &lt;/p&gt;    &lt;p&gt;Enjoy!&lt;/p&gt; &lt;/li&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9924682" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/bethmassi/archive/tags/DevCenter/default.aspx">DevCenter</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/Channel9/default.aspx">Channel9</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/VS2010/default.aspx">VS2010</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/VSTO/default.aspx">VSTO</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/SharePoint/default.aspx">SharePoint</category></item><item><title>Channel 9 Interview: Overview of SharePoint Development in Visual Studio 2010</title><link>http://blogs.msdn.com/bethmassi/archive/2009/11/16/channel-9-interview-overview-of-sharepoint-development-in-visual-studio-2010.aspx</link><pubDate>Mon, 16 Nov 2009 23:53:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9923265</guid><dc:creator>Beth Massi</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/bethmassi/comments/9923265.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bethmassi/commentrss.aspx?PostID=9923265</wfw:commentRss><wfw:comment>http://blogs.msdn.com/bethmassi/rsscomments.aspx?PostID=9923265</wfw:comment><description>&lt;p&gt;&lt;a href="http://channel9.msdn.com/posts/funkyonex/Overview-of-SharePoint-Development-in-Visual-Studio-2010/" target="_blank"&gt;In this interview&lt;/a&gt; I catch up with Mike Morton, a Senior Program Manager on the Visual Studio team developing tools for SharePoint development. Mike gives us a great introduction and overview of these tools from the Visual Studio Developer perspective. Mike shows us how easy it is to build, package, deploy and debug SharePoint 2010 customizations by walking through a site workflow, event receiver, visual web part, the feature and package designers as well as other goodies. This is a great intro for Visual Studio developers looking to get into SharePoint development, but seasoned SharePoint developers will also appreciate the new tools presented here:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Channel 9 Interview: &lt;/strong&gt;&lt;a href="http://channel9.msdn.com/posts/funkyonex/Overview-of-SharePoint-Development-in-Visual-Studio-2010/"&gt;&lt;strong&gt;Overview of SharePoint Development in Visual Studio 2010&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&amp;#160;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;For more information on SharePoint Development in Visual Studio 2010 please check out:&lt;/p&gt;  &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/sharepoint/ee513147.aspx"&gt;SharePoint 2010 Development Resources &lt;/a&gt;&lt;a href="http:///"&gt;&lt;/a&gt;&lt;/li&gt;  &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/vstudio/dd441784.aspx#Sharepoint"&gt;SharePoint Development in Visual Studio 2010 Walkthroughs &lt;/a&gt;&lt;a href="http:///"&gt;&lt;/a&gt;&lt;/li&gt;  &lt;li&gt;&lt;a href="http://code.msdn.microsoft.com/SharePointDev2010"&gt;SharePoint Development in Visual Studio 2010 Samples&lt;/a&gt;&lt;a href="http://code.msdn.microsoft.com/SharePointDev2010"&gt;&lt;/a&gt; &lt;/li&gt;  &lt;li&gt;&lt;a href="http://blogs.msdn.com/sharepoint"&gt;SharePoint Team Blog&lt;/a&gt; &lt;/li&gt;  &lt;li&gt;&lt;a href="http://blogs.msdn.com/vsto"&gt;Office Development in Visual Studio Team Blog&lt;/a&gt;     &lt;p&gt;And &lt;a href="http://social.msdn.microsoft.com/Forums/en-US/sharepointdevelopmentprerelease/threads"&gt;give us your feedback in the SharePoint Development Forums&lt;/a&gt;! &lt;/p&gt;    &lt;p&gt;Enjoy!&lt;/p&gt; &lt;/li&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9923265" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/bethmassi/archive/tags/Community/default.aspx">Community</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/DevCenter/default.aspx">DevCenter</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/Channel9/default.aspx">Channel9</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/VS2010/default.aspx">VS2010</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/VSTO/default.aspx">VSTO</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/SharePoint/default.aspx">SharePoint</category></item><item><title>Check out New Features in the MSDN Library Documentation</title><link>http://blogs.msdn.com/bethmassi/archive/2009/11/11/check-out-new-features-in-the-msdn-library-documentation.aspx</link><pubDate>Wed, 11 Nov 2009 17:28:08 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9920924</guid><dc:creator>Beth Massi</dc:creator><slash:comments>5</slash:comments><comments>http://blogs.msdn.com/bethmassi/comments/9920924.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bethmassi/commentrss.aspx?PostID=9920924</wfw:commentRss><wfw:comment>http://blogs.msdn.com/bethmassi/rsscomments.aspx?PostID=9920924</wfw:comment><description>&lt;p&gt;There’s some changes coming to the MSDN library and documentation. &lt;a href="http://blogs.msdn.com/kathleen/archive/2009/11/06/new-msdn-library-views.aspx" target="_blank"&gt;Kathleen posted about the new views available&lt;/a&gt; on the MSDN library which include a &lt;a href="http://msdn.microsoft.com/en-us/library/dd831853(VS.100,lightweight).aspx"&gt;Lightweight view&lt;/a&gt;, &lt;a href="http://msdn.microsoft.com/en-us/library/dd831853(VS.100,loband).aspx"&gt;ScriptFree view&lt;/a&gt; and a &lt;a href="http://msdn.microsoft.com/en-us/library/dd831853(VS.100,classic).aspx"&gt;Classic view&lt;/a&gt;. She’s also got a &lt;a href="http://channel9.msdn.com/posts/kmcgrath/New-MSDN-Library-views/" target="_blank"&gt;short Channel 9 interview&lt;/a&gt; with the senior development lead on the library team who demonstrates them so check it out!&lt;/p&gt;  &lt;p&gt;We’ve also got a webcast scheduled at 10AM PST today -- &lt;a href="https://www.livemeeting.com/cc/0000000379_103/join?id=76P755&amp;amp;role=attend&amp;amp;pw=p%2C%2Fzk2K%7CM" target="_blank"&gt;Lap around the Visual Studio 2010 documentation&lt;/a&gt; – hope you can join us and ask questions.&lt;/p&gt;  &lt;p&gt;Enjoy!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9920924" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/bethmassi/archive/tags/DevCenter/default.aspx">DevCenter</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/Webcast/default.aspx">Webcast</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/VS2010/default.aspx">VS2010</category></item><item><title>Interop Between VBA and Visual Studio Office Solutions (VSTO)</title><link>http://blogs.msdn.com/bethmassi/archive/2009/11/05/interop-between-vba-and-visual-studio-office-solutions-vsto.aspx</link><pubDate>Fri, 06 Nov 2009 05:03:46 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9918383</guid><dc:creator>Beth Massi</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/bethmassi/comments/9918383.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bethmassi/commentrss.aspx?PostID=9918383</wfw:commentRss><wfw:comment>http://blogs.msdn.com/bethmassi/rsscomments.aspx?PostID=9918383</wfw:comment><description>&lt;p&gt;Couple weeks ago when &lt;a href="http://blogs.msdn.com/bethmassi/archive/2009/10/20/sdc-2009-recap-surprise.aspx" target="_blank"&gt;I was in Holland speaking at SDC&lt;/a&gt; an attendee asked me how he could call methods in an Office solution (VSTO) from VBA functions defined in a document and vice versa. I thought I’d follow up with a post on how to do this, but first a little background on why this architecture would make sense. &lt;/p&gt;  &lt;p&gt;There are many reasons why you would build an Office solution using Visual Studio (VSTO) as opposed to a pure VBA solution. &lt;a href="http://geeks.netindonesia.net/blogs/andriyadi/default.aspx"&gt;Andri Yadi&lt;/a&gt;, VSTO MVP, &lt;a href="http://geeks.netindonesia.net/blogs/andriyadi/archive/2008/08/20/vba-vs-vsto.aspx" target="_blank"&gt;wrote a great piece on his blog a while back explaining the benefits of VSTO compared to VBA&lt;/a&gt;. He broke it down into 10 areas, of which the main benefits are the tools and designers you have available in Visual Studio as well as the entire .NET framework and modern languages at your disposal. &lt;/p&gt;  &lt;p&gt;However, there are probably many VBA assets that people in your company have already written, like complex algorithms or other business logic that you really don’t want to rewrite. Or maybe you still want to allow users to customize these functions in the VBA editor but it’s necessary for you to call them from your .NET code. &lt;/p&gt;  &lt;p&gt;Likewise, you may want to develop a customization that takes advantage of WCF services or a WPF UI, modern language features, or any other feature of the .NET framework that would be difficult or impossible to do in VBA, and you want the user to be able to access these methods from their VBA functions. The attendee at SDC didn’t go into much detail on what his Office customization was doing exactly but he wanted to make some of his public methods available to his VBA users and this makes sense in a lot of situations. Luckily Visual Studio makes this very easy to do. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Creating an Excel Document Customization&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;For this example I’ll create an Excel document customization that accesses data through a WCF service and does some calculations on that data. The calculations, however, will be in VBA. To access the remote data over the internet I’ll create an ADO.NET Data Service. I want to pull up data in a Northwind view called &lt;em&gt;Sales Totals By Amount&lt;/em&gt;. I’ve shown how to create an ADO.NET Data Service many times before so I won’t go into too much detail here. Please refer to the steps shown in the &lt;a href="http://blogs.msdn.com/bethmassi/archive/2009/01/09/using-ado-net-data-services.aspx" target="_blank"&gt;Using ADO.NET Data Services&lt;/a&gt; article. The only difference in this case is I selected the View &lt;em&gt;Sales Totals By Amount&lt;/em&gt; into my Entity Framework model when I performed that step. &lt;/p&gt;  &lt;p&gt;I have an Excel macro-enabled workbook that already has a simple VBA function that Sums all the columns below the first row. The function is sitting in a module called MyFunctions. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/InteroptoVBAFunctionsFromYourVisualStudi_A978/image_2.png" target="_blank"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/InteroptoVBAFunctionsFromYourVisualStudi_A978/image_thumb.png" width="669" height="251" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;To create the new&amp;#160; Excel workbook customization I’m going to add a new project to my solution and select Office 2007 Excel Workbook. Next it will ask if you want to create a new document or use an existing one, here’s where I’ll specify the macro-enabled workbook I already have above.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/InteroptoVBAFunctionsFromYourVisualStudi_A978/image_6.png" target="_blank"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/InteroptoVBAFunctionsFromYourVisualStudi_A978/image_thumb_2.png" width="613" height="446" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Next Add a Service Reference to the ADO.NET Data Service (which I called NorthwindReportService) &lt;a href="http://blogs.msdn.com/bethmassi/archive/2009/01/09/using-ado-net-data-services.aspx" target="_blank"&gt;just like I showed here&lt;/a&gt; and copy the URI into your clipboard. Then create a setting to store the URI, just double-click on My Project (Properties in C#) and select the Settings tab and enter an application scope property called ServiceURI.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/InteroptoVBAFunctionsFromYourVisualStudi_A978/image_8.png" target="_blank"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/InteroptoVBAFunctionsFromYourVisualStudi_A978/image_thumb_3.png" width="684" height="115" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;When you add the service reference this generates client-side proxy types that you can use. I’m going to bind the data returned from Sales_Totals_by_Amount to an Excel ListObject. Open the Data Source window (Data –&amp;gt; Show Data Sources) and then add a new data source (Data –&amp;gt; Add New Data Source…). In the Data Source Connection Wizard select Object, then Next, then expand the types in your project’s NorthwindReportService namespace. Select Sales_Totals_by_Amount and then click Finish and you will see the type’s properties appear in the Data Sources Window:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/InteroptoVBAFunctionsFromYourVisualStudi_A978/image_10.png" target="_blank"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/InteroptoVBAFunctionsFromYourVisualStudi_A978/image_thumb_4.png" width="670" height="515" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Double-click on Sheet1 in the project and drag the Sales_Totals_by_Amount from the Data Sources window onto the &lt;strong&gt;second &lt;/strong&gt;row of the sheet (our macro is going to sum into the first row so we want to place the data starting on the second row). This will automatically set up a BindingSource in the system tray that we will use to set our list of data coming from the service. If you are familiar with Winforms development this should seem very familiar. The ListObject is the main data object you work with in Excel solutions. For this example I’m going to select the OrderId column, right-click and then Delete. I’ll do the same to the ShippedDate column because I only want to display the CompanyName and SaleAmount for this example. Finally I’ll set the formatting (Home Tab on the Excel Designer) to Currency for the first cell. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/InteroptoVBAFunctionsFromYourVisualStudi_A978/image_12.png" target="_blank"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/InteroptoVBAFunctionsFromYourVisualStudi_A978/image_thumb_5.png" width="589" height="373" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Now we’re ready to write some code to load our data. Right-click on ThisWorkbook and select View Code. Here I’m going to create a Friend ReadOnly Property so we can easily access the service reference from anywhere in the project. I’m making this Friend so that it won’t be visible outside of the .NET assembly. I’m also creating a Public method that gets the data from our service and optionally accepts a Company Name. The results are then set to the DataSource of the ListObject’s BindingSource on Sheet1:&lt;/p&gt;  &lt;pre class="code"&gt;&lt;span style="color: blue"&gt;Imports &lt;/span&gt;VBATest.NorthwindReportService

&lt;span style="color: blue"&gt;Public Class &lt;/span&gt;ThisWorkbook

    &lt;span style="color: blue"&gt;Private &lt;/span&gt;_ReportService &lt;span style="color: blue"&gt;As New &lt;/span&gt;NorthwindEntities(&lt;span style="color: blue"&gt;New &lt;/span&gt;Uri(&lt;span style="color: blue"&gt;My&lt;/span&gt;.Settings.ServiceURI))
    &lt;span style="color: blue"&gt;Friend ReadOnly Property &lt;/span&gt;ReportService() &lt;span style="color: blue"&gt;As &lt;/span&gt;NorthwindEntities
        &lt;span style="color: blue"&gt;Get
            Return &lt;/span&gt;_ReportService
        &lt;span style="color: blue"&gt;End Get
    End Property

    Public Sub &lt;/span&gt;GetData(&lt;span style="color: blue"&gt;Optional ByVal &lt;/span&gt;companyName = &lt;span style="color: #a31515"&gt;&amp;quot;&amp;quot;&lt;/span&gt;)
        &lt;span style="color: blue"&gt;Try
            If &lt;/span&gt;Globals.Sheet1 &lt;span style="color: blue"&gt;IsNot Nothing Then

                Dim &lt;/span&gt;results &lt;span style="color: blue"&gt;As &lt;/span&gt;IEnumerable(&lt;span style="color: blue"&gt;Of &lt;/span&gt;Sales_Totals_by_Amount)

                &lt;span style="color: blue"&gt;If &lt;/span&gt;companyName = &lt;span style="color: #a31515"&gt;&amp;quot;&amp;quot; &lt;/span&gt;&lt;span style="color: blue"&gt;Then
                    &lt;/span&gt;results = &lt;span style="color: blue"&gt;Me&lt;/span&gt;.ReportService.Sales_Totals_by_Amount
                &lt;span style="color: blue"&gt;Else
                    &lt;/span&gt;results = &lt;span style="color: blue"&gt;From &lt;/span&gt;s &lt;span style="color: blue"&gt;In Me&lt;/span&gt;.ReportService.Sales_Totals_by_Amount _
                              &lt;span style="color: blue"&gt;Where &lt;/span&gt;s.CompanyName.StartsWith(companyName)
                &lt;span style="color: blue"&gt;End If

                &lt;/span&gt;Globals.Sheet1.Sales_Totals_by_AmountBindingSource.DataSource = results.ToList()
            &lt;span style="color: blue"&gt;End If
        Catch &lt;/span&gt;ex &lt;span style="color: blue"&gt;As &lt;/span&gt;Exception
            &lt;span style="color: green"&gt;'TODO: Error Handling
            &lt;/span&gt;MsgBox(ex.ToString())
        &lt;span style="color: blue"&gt;End Try
    End Sub

    Private Sub &lt;/span&gt;ThisWorkbook_Startup() &lt;span style="color: blue"&gt;Handles Me&lt;/span&gt;.Startup

    &lt;span style="color: blue"&gt;End Sub

    Private Sub &lt;/span&gt;ThisWorkbook_Shutdown() &lt;span style="color: blue"&gt;Handles Me&lt;/span&gt;.Shutdown

    &lt;span style="color: blue"&gt;End Sub

End Class&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;&lt;strong&gt;Calling VBA from VSTO&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Next I want to create a button on the ribbon that will first call the GetData method, then select the first cell in Sheet1, and finally call the VBA function SumBelow. In order to call a VBA method from VSTO you call Globals.ThisWorkbook.Application.Run passing it the&lt;strong&gt; full name&lt;/strong&gt; to the VBA method. For this example that would be VBATest.xlsm!MyFunctions.SumBelow. &lt;/p&gt;

&lt;p&gt;Add a New Item to the project and select Office, Ribbon (Visual Designer) and then drag a Button from the Office Ribbon Controls to the Group and Label it “Get Data”. I also specified an OfficeImageId to make it look pretty. (BTW, a nice way to browse the Office Images is to &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=46B6BF86-E35D-4870-B214-4D7B72B02BF9&amp;amp;displaylang=en" target="_blank"&gt;install the VSTO Power Tools&lt;/a&gt; and install the RibbonID Add-in like &lt;a href="http://msdn.microsoft.com/en-us/vsto/dd229920.aspx" target="_blank"&gt;Ty shows in this video&lt;/a&gt;.)&lt;/p&gt;

&lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/InteroptoVBAFunctionsFromYourVisualStudi_A978/image_14.png" target="_blank"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/InteroptoVBAFunctionsFromYourVisualStudi_A978/image_thumb_6.png" width="675" height="400" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;Double-click on the Get Data button to add a click event handler and we’ll write the following code to load all the data and then call the VBA function. You need to make sure you set up proper error handling here because if the VBA function is removed or renamed the code here will fail. This code will also fail if the appropriate access is not granted to VBA macros in Excel. By default, VBA macros are not enabled but you can enable them on a per workbook basis (there’s a button at the top of the first sheet when you run it). This scenario assumes you have existing VBA code that has permission to run and you’re now calling those existing functions from VSTO.&lt;/p&gt;

&lt;pre class="code"&gt;&lt;span style="color: blue"&gt;Imports &lt;/span&gt;VBATest.NorthwindReportService
&lt;span style="color: blue"&gt;Imports &lt;/span&gt;Microsoft.Office.Tools.Ribbon

&lt;span style="color: blue"&gt;Public Class &lt;/span&gt;Ribbon1

    &lt;span style="color: blue"&gt;Private Sub &lt;/span&gt;Button1_Click() &lt;span style="color: blue"&gt;Handles &lt;/span&gt;Button1.Click
        &lt;span style="color: green"&gt;'load the data from the service
        &lt;/span&gt;Globals.ThisWorkbook.GetData()
        &lt;span style="color: blue"&gt;Try
            &lt;/span&gt;&lt;span style="color: green"&gt;'Make sure the first cell is selected
            &lt;/span&gt;Globals.Sheet1.Range(&lt;span style="color: #a31515"&gt;&amp;quot;A1&amp;quot;&lt;/span&gt;).Select()
            &lt;span style="color: green"&gt;'Run the VBA function. This will result in a runtime error if the function 
            ' is removed or renamed or not allowed to run so make sure to provide &lt;br /&gt;            ' adequate error handling.             
            &lt;/span&gt;Globals.ThisWorkbook.Application.Run(&lt;span style="color: #a31515"&gt;&amp;quot;VBATest.xlsm!MyFunctions.SumBelow&amp;quot;&lt;/span&gt;)
        &lt;span style="color: blue"&gt;Catch &lt;/span&gt;ex &lt;span style="color: blue"&gt;As &lt;/span&gt;Exception
            &lt;span style="color: green"&gt;'Todo: Error handling
            &lt;/span&gt;MsgBox(ex.ToString())
        &lt;span style="color: blue"&gt;End Try
    End Sub
End Class&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;Hit F5 to run. If you see a Security Warning (the default) that Macros are disabled, then just click Options and select “Enable this content”. Select the Add-Ins tab on the Ribbon and click the GetData button to see the data get loaded from the service and then the SumBelow VBA function will be called which will auto-sum the SaleAmount field and show the total in the first row.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Calling VSTO methods from VBA&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;As you can see it’s really easy to call VBA code from your Office solution in Visual Studio (VSTO) but it’s also fragile because of the late-bound architecture and the requirement that macros be enabled for the Workbook. Like all late-bound code, you need to have adequate error handling to prevent crashes. Much less fragile is calling VSTO methods from VBA functions because these methods are compiled into your .NET assembly and exposed via COM-interop which makes them available to VBA. &lt;/p&gt;

&lt;p&gt;If we go back to our project and double-click on ThisWorkbook and look in the Properties window, you should see a property called EnableVbaCallers. Setting that Property to True will expose all Public methods in the ThisWorkbook class via COM to VBA. &lt;/p&gt;

&lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/InteroptoVBAFunctionsFromYourVisualStudi_A978/image_16.png" target="_blank"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/InteroptoVBAFunctionsFromYourVisualStudi_A978/image_thumb_7.png" width="325" height="196" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;If you now go back into the code-behind for ThisWorkbook you will see some COM attributes added to the class:&lt;/p&gt;

&lt;pre class="code"&gt;&amp;lt;Microsoft.VisualBasic.ComClassAttribute()&amp;gt; _
&amp;lt;System.Runtime.InteropServices.ComVisibleAttribute(&lt;span style="color: blue"&gt;True&lt;/span&gt;)&amp;gt; _
&lt;span style="color: blue"&gt;Public Class &lt;/span&gt;ThisWorkbook&lt;br /&gt;...&lt;/pre&gt;

&lt;p&gt;Now we can call the GetData method from VBA code. Hit F5 to run and enable the macros (if asked) on the Workbook again. Select the Developer tab and launch the Visual Basic editor. (If you don’t see a developer tab click the Office icon – the globe in the left-hand corner – select Excel Options, and then on the Popular tab check the “Show Developer tab in the Ribbon”.) &lt;/p&gt;

&lt;p&gt;Double-click on the ThisWorkbook and you will see that Visual Studio added a property to our VBA code for us called CallVSTOAssembly. This allows us to call any public method we defined in the ThisWorkbook class back in Visual Studio. Let’s add another function to the MyFunctions module that collects input from the user on the company name to look up and then fetches the data by calling the GetData method in .NET.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/InteroptoVBAFunctionsFromYourVisualStudi_A978/image_20.png" target="_blank"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/InteroptoVBAFunctionsFromYourVisualStudi_A978/image_thumb_9.png" width="686" height="392" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;Save your code here and close the VBA Editor. Now back on the Developer tab on the Ribbon select Macros and then you should see the one we just wrote called GetDataAndSumBelow, select it and click Run. It will prompt for a company name (just type ‘S’ for instance) and it will run the ADO.NET Data Service query via the call to the .NET GetData method and then will return and call the SumBelow VBA function. Cool! &lt;/p&gt;

&lt;p&gt;BUT WAIT… DON’T CLOSE EXCEL YET! &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tips Editing VBA Code when Debugging&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Because we wrote the second VBA function above while we were in debug mode in Visual Studio once we close Excel we will lose all the VBA code we wrote when we debug again. &lt;a href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/InteroptoVBAFunctionsFromYourVisualStudi_A978/image_22.png" target="_blank"&gt;&lt;img style="border-right-width: 0px; margin: 5px 10px 0px 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" align="left" src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/InteroptoVBAFunctionsFromYourVisualStudi_A978/image_thumb_10.png" width="284" height="360" /&gt;&lt;/a&gt;Because of the way Visual Studio works with Office solutions, we aren’t actually editing the xlsm file in the project, we’re editing the running xlsm file in the \bin directory that has the VSTO solution attached. You &lt;strong&gt;cannot &lt;/strong&gt;just copy this one in the \bin folder back into the project otherwise Visual Studio will report an error that a customization is already attached to the document when you compile again. So what do we do?&lt;/p&gt;

&lt;p&gt;There’s probably other ways to do this but what I found the easiest was to open the Visual Basic editor again, select the MyFunctions module where all my code is stored and then right-click and select “Export File”. This will allow you to save the code outside the Workbook. Then when you debug again you can just import it by right-clicking again (delete the current one first). &lt;/p&gt;

&lt;p&gt;When you’re finally satisfied with your VBA – VSTO code interop, close Visual Studio and open the .xlsm file in the &lt;strong&gt;project directory&lt;/strong&gt; (not the \bin) and re-import your code again into that version. Then restart Visual Studio and it will be in there when you start debugging again. I find this easier than copying my code into the clipboard, closing VS, modifying the document, reopening VS every time. Just be aware of what version of the document you’re modifying when you tweak your VBA code and you should be OK.&lt;/p&gt;

&lt;p&gt;I’ve uploaded the code for this example onto Code Gallery so have a look: &lt;a title="http://code.msdn.microsoft.com/VBAVSTOInterop" href="http://code.msdn.microsoft.com/VBAVSTOInterop"&gt;http://code.msdn.microsoft.com/VBAVSTOInterop&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;More Resources&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;For more information on VBA – VSTO interop with Visual Studio please check out the following resources:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/magazine/cc163373.aspx" target="_blank"&gt;MSDN Magazine: Extend Your VBA Code With VSTO&lt;/a&gt; &lt;/li&gt;

  &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb931201.aspx" target="_blank"&gt;MSDN Article: VBA Interoperability with Visual Studio Tools for the Office System (3.0)&lt;/a&gt; &lt;/li&gt;

  &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb814696.aspx" target="_blank"&gt;Visual How To: Interoperability Between VBA and Visual Studio Tools for the Office System (3.0)&lt;/a&gt; &lt;/li&gt;

  &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/vsto/cc178910.aspx" target="_blank"&gt;How Do I: Call VSTO Code from VBA?&lt;/a&gt; &lt;/li&gt;

  &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/vsto/cc748594.aspx"&gt;How Do I: Enable an Office Application Add-In using a VSTO Add-in?&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Enjoy!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9918383" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/bethmassi/archive/tags/Visual+Basic/default.aspx">Visual Basic</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/VS2008/default.aspx">VS2008</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/DevCenter/default.aspx">DevCenter</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/Article/default.aspx">Article</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/Office/default.aspx">Office</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/ADO.NET+Data+Services/default.aspx">ADO.NET Data Services</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/VSTO/default.aspx">VSTO</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/VBA/default.aspx">VBA</category></item><item><title>Building Occasionally Connected Smart Clients with WPF</title><link>http://blogs.msdn.com/bethmassi/archive/2009/11/02/building-occasionally-connected-smart-clients-with-wpf.aspx</link><pubDate>Mon, 02 Nov 2009 22:57:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9916434</guid><dc:creator>Beth Massi</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/bethmassi/comments/9916434.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bethmassi/commentrss.aspx?PostID=9916434</wfw:commentRss><wfw:comment>http://blogs.msdn.com/bethmassi/rsscomments.aspx?PostID=9916434</wfw:comment><description>&lt;p&gt;This month Dev Pro Connections has an article by Milind Lele on using Sync Services in a WPF application:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.devproconnections.com/tabId/180/itemId/4586/Building-Occasionally-Connected-Smart-Clients-with.aspx" target="_blank"&gt;Building Occasionally Connected Smart Clients with WPF&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;With Sync Services and Visual Studio 2008 you can visually design your local data cache and have it automatically synchronize your data with the backend remote database. So instead of figuring out your own caching mechanisms on the client, you can use SQL CE to store the local data and then use the sync framework to merge data with the backend.&lt;/p&gt;  &lt;p&gt;If you’re looking to improve scalability of your client applications then you should consider caching data that is read-only, user-specific, changes rarely, or can tolerate some staleness. ADO.NET Sync Services can really help here. &lt;/p&gt;  &lt;p&gt;You can catch more of Milind and team over on the VS Data Team Blog: &lt;a title="http://blogs.msdn.com/vsdata/" href="http://blogs.msdn.com/vsdata/"&gt;http://blogs.msdn.com/vsdata/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Enjoy!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9916434" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/bethmassi/archive/tags/VS2008/default.aspx">VS2008</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/SQL+Server/default.aspx">SQL Server</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/DevCenter/default.aspx">DevCenter</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/Article/default.aspx">Article</category><category domain="http://blogs.msdn.com/bethmassi/archive/tags/Data/default.aspx">Data</category></item><item><title>Halloween Pictures</title><link>http://blogs.msdn.com/bethmassi/archive/2009/11/02/halloween-pictures.aspx</link><pubDate>Mon, 02 Nov 2009 18:45:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9916293</guid><dc:creator>Beth Massi</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/bethmassi/comments/9916293.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bethmassi/commentrss.aspx?PostID=9916293</wfw:commentRss><wfw:comment>http://blogs.msdn.com/bethmassi/rsscomments.aspx?PostID=9916293</wfw:comment><description>&lt;P&gt;&lt;A href="http://blogs.msdn.com/bethmassi/archive/2009/10/30/happy-halloween-2009.aspx" target=_blank mce_href="http://blogs.msdn.com/bethmassi/archive/2009/10/30/happy-halloween-2009.aspx"&gt;On Friday I posted some pictures of my past Halloween costumes&lt;/A&gt;. This year I have to say was one of the better years in terms of how easy the costumes were to put together and the great “scary factor”. This year we were werewolves and the only hard part of the costume was taking off all the hair ;-). I won for scariest costume, yea! I think the contacts I bought freaked people out…&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;A href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050352_2.jpg" target=_blank mce_href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050352_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=P1050352 border=0 alt=P1050352 src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050352_thumb.jpg" width=372 height=560 mce_src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050352_thumb.jpg"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Here’s the family portrait (sister, me, mom, pop, Alan). My mom and pop came as the Wicked Witch and Glenda the good witch. My father won for funniest costume (people always laugh at cross-dressing) ;-)&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/FamilyPortrait_2.png" target=_blank mce_href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/FamilyPortrait_2.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=FamilyPortrait border=0 alt=FamilyPortrait src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/FamilyPortrait_thumb.png" width=376 height=283 mce_src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/FamilyPortrait_thumb.png"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Here are some of the other costume winners. Robin came as the Windows 7 OS and won for most creative! She even had a jump list, a Bing button and glass. She also kept walking around the party telling people helpful Windows tips (and no, she doesn’t work for Windows marketing ;-))&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050347_2.jpg" target=_blank mce_href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050347_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=P1050347 border=0 alt=P1050347 src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050347_thumb.jpg" width=195 height=294 mce_src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050347_thumb.jpg"&gt;&lt;/A&gt; &lt;A href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050349_2.jpg" target=_blank mce_href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050349_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=P1050349 border=0 alt=P1050349 src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050349_thumb.jpg" width=195 height=294 mce_src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050349_thumb.jpg"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Best group costume was Austin Powers and Fook Mi and Fook Yu:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050378_2.jpg" target=_blank mce_href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050378_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=P1050378 border=0 alt=P1050378 src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050378_thumb.jpg" width=196 height=295 mce_src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050378_thumb.jpg"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Honorable mention, Lady Gaga and Adam Lambert:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/LadyGagaandAdam_2.jpg" target=_blank mce_href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/LadyGagaandAdam_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=LadyGagaandAdam border=0 alt=LadyGagaandAdam src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/LadyGagaandAdam_thumb.jpg" width=317 height=285 mce_src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/LadyGagaandAdam_thumb.jpg"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Thanks to all who came! See you next year!!!&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050341_2.jpg" target=_blank mce_href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050341_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=P1050341 border=0 alt=P1050341 src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050341_thumb.jpg" width=218 height=164 mce_src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050341_thumb.jpg"&gt;&lt;/A&gt;&amp;nbsp;&lt;A href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050287_2.jpg" target=_blank mce_href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050287_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=P1050287 border=0 alt=P1050287 src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050287_thumb.jpg" width=217 height=163 mce_src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050287_thumb.jpg"&gt;&lt;/A&gt; &lt;A href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050293_2.jpg" target=_blank mce_href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050293_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=P1050293 border=0 alt=P1050293 src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050293_thumb.jpg" width=246 height=164 mce_src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050293_thumb.jpg"&gt;&lt;/A&gt; &lt;A href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050296_2.jpg" target=_blank mce_href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050296_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=P1050296 border=0 alt=P1050296 src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050296_thumb.jpg" width=323 height=242 mce_src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050296_thumb.jpg"&gt;&lt;/A&gt; &lt;A href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050297_2.jpg" target=_blank mce_href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050297_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=P1050297 border=0 alt=P1050297 src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050297_thumb.jpg" width=181 height=241 mce_src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050297_thumb.jpg"&gt;&lt;/A&gt; &lt;A href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050340_2.jpg" target=_blank mce_href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050340_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=P1050340 border=0 alt=P1050340 src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050340_thumb.jpg" width=161 height=243 mce_src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050340_thumb.jpg"&gt;&lt;/A&gt;&lt;A href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050299_2.jpg" target=_blank mce_href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050299_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=P1050299 border=0 alt=P1050299 src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050299_thumb.jpg" width=235 height=156 mce_src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050299_thumb.jpg"&gt;&lt;/A&gt; &lt;A href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050300_2.jpg" target=_blank mce_href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050300_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=P1050300 border=0 alt=P1050300 src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050300_thumb.jpg" width=236 height=157 mce_src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050300_thumb.jpg"&gt;&lt;/A&gt; &lt;A href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050303_2.jpg" target=_blank mce_href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050303_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=P1050303 border=0 alt=P1050303 src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050303_thumb.jpg" width=209 height=157 mce_src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050303_thumb.jpg"&gt;&lt;/A&gt; &lt;A href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050311_2.jpg" target=_blank mce_href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050311_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=P1050311 border=0 alt=P1050311 src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050311_thumb.jpg" width=231 height=153 mce_src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050311_thumb.jpg"&gt;&lt;/A&gt; &lt;A href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050314_2.jpg" target=_blank mce_href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050314_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=P1050314 border=0 alt=P1050314 src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050314_thumb.jpg" width=229 height=152 mce_src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050314_thumb.jpg"&gt;&lt;/A&gt;&amp;nbsp;&lt;A href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/Adamhandsout_2.jpg" target=_blank mce_href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/Adamhandsout_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=Adamhandsout border=0 alt=Adamhandsout src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/Adamhandsout_thumb.jpg" width=140 height=153 mce_src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/Adamhandsout_thumb.jpg"&gt;&lt;/A&gt;&lt;A href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/LadyGaganoglasses_2.jpg" target=_blank mce_href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/LadyGaganoglasses_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=LadyGaganoglasses border=0 alt=LadyGaganoglasses src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/LadyGaganoglasses_thumb.jpg" width=88 height=85 mce_src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/LadyGaganoglasses_thumb.jpg"&gt;&lt;/A&gt;&lt;A href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050346_2.jpg" target=_blank mce_href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050346_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=P1050346 border=0 alt=P1050346 src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050346_thumb.jpg" width=220 height=331 mce_src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050346_thumb.jpg"&gt;&lt;/A&gt; &lt;A href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050350_2.jpg" target=_blank mce_href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050350_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=P1050350 border=0 alt=P1050350 src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050350_thumb.jpg" width=219 height=330 mce_src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050350_thumb.jpg"&gt;&lt;/A&gt; &lt;A href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050389_2.jpg" target=_blank mce_href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050389_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=P1050389 border=0 alt=P1050389 src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050389_thumb.jpg" width=220 height=332 mce_src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050389_thumb.jpg"&gt;&lt;/A&gt;&lt;A href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050354_2.jpg" target=_blank mce_href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050354_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=P1050354 border=0 alt=P1050354 src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050354_thumb.jpg" width=227 height=151 mce_src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050354_thumb.jpg"&gt;&lt;/A&gt; &lt;A href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050364_2.jpg" target=_blank mce_href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050364_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=P1050364 border=0 alt=P1050364 src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050364_thumb.jpg" width=201 height=151 mce_src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050364_thumb.jpg"&gt;&lt;/A&gt; &lt;A href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/werwolfkiss_2.jpg" target=_blank mce_href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/werwolfkiss_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=werwolfkiss border=0 alt=werwolfkiss src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/werwolfkiss_thumb.jpg" width=127 height=150 mce_src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/werwolfkiss_thumb.jpg"&gt;&lt;/A&gt;&lt;A href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050372_2.jpg" target=_blank mce_href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050372_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=P1050372 border=0 alt=P1050372 src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050372_thumb.jpg" width=221 height=147 mce_src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050372_thumb.jpg"&gt;&lt;/A&gt; &lt;A href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050374_2.jpg" target=_blank mce_href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050374_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=P1050374 border=0 alt=P1050374 src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050374_thumb.jpg" width=227 height=151 mce_src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050374_thumb.jpg"&gt;&lt;/A&gt; &lt;A href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050375_2.jpg" target=_blank mce_href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050375_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=P1050375 border=0 alt=P1050375 src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050375_thumb.jpg" width=227 height=151 mce_src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HalloweenPictures_96C5/P1050375_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9916293" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/bethmassi/archive/tags/Personal/default.aspx">Personal</category></item><item><title>Happy Halloween 2009!!!</title><link>http://blogs.msdn.com/bethmassi/archive/2009/10/30/happy-halloween-2009.aspx</link><pubDate>Fri, 30 Oct 2009 23:52:45 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9915547</guid><dc:creator>Beth Massi</dc:creator><slash:comments>6</slash:comments><comments>http://blogs.msdn.com/bethmassi/comments/9915547.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bethmassi/commentrss.aspx?PostID=9915547</wfw:commentRss><wfw:comment>http://blogs.msdn.com/bethmassi/rsscomments.aspx?PostID=9915547</wfw:comment><description>&lt;p&gt;“It’s the most, wonderful tiiiiime of the yyyyeaaaar”. Yes, I’ve been in love with Halloween ever since I was young. The neighborhood I grew up in L.A. was a great place to go trick-or-treating. Dead bodies in front yards, live action death scenes, and neighbors that actually made you perform a trick to get your treat. As a shy kid (yes, I was a shy kid!) I always loved to dress up and be something I wasn’t, especially something creepy or frightening. The last time I attempted dressing up and trick-or-treating I was about 17 (hey, I had a young face and I’m short!) and I didn’t do it for the candy, I just wanted to show off my costume.&lt;/p&gt;  &lt;p&gt;Nowadays I have a costume party on Halloween at my haunted mansion. We have a garage full of decorations that we’ve collected over the years. Most recently added was an animatronic witch that drags itself across the floor. The house is done up in lots of black-lights, spider webs, gouls and goblins and there’s a theme to every room. We even have the head of a dead fortune-teller at the front door. And watch your step as you head into the bathroom (don’t look in the tub if your squeamish). &lt;/p&gt;  &lt;p&gt;But the best part of these shenanigans is the costumes that everyone is required to wear. If you show up without one I have about 10 very embarrassing ones you can choose from (believe me you want to show up in your own costume, these are horrible and a bit smelly). We have voting and a prizes give-away for the &lt;em&gt;Scariest&lt;/em&gt;, &lt;em&gt;Funniest&lt;/em&gt;, &lt;em&gt;Most Creative&lt;/em&gt; and &lt;em&gt;Best Couple or Group&lt;/em&gt; costumes. &lt;/p&gt;  &lt;p&gt;Alan and I always go for the scariest and it’s always a surprise what we’re going to be. This year I have to say is going to be the hardest costume I’ve ever attempted but if I get it right, it will be amazing. Maybe I’ll quit Microsoft and work for Universal Studios (which BTW, I highly recommend going there on Halloween if you’re near Universal City!)&lt;/p&gt;  &lt;p&gt;Here’s some costumes from previous years, try and guess what we’re going the be this year. I’ll post back pictures of this year’s party on Monday. &lt;/p&gt;  &lt;table border="0" cellspacing="2" cellpadding="2" width="509"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="75"&gt;         &lt;h1 align="left"&gt;2003&lt;/h1&gt;       &lt;/td&gt;        &lt;td valign="top" width="426"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HappyHalloween_DE85/IMG_0235_2.jpg" target="_blank"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="IMG_0235" border="0" alt="IMG_0235" src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HappyHalloween_DE85/IMG_0235_thumb.jpg" width="423" height="318" /&gt;&lt;/a&gt;           &lt;br /&gt;Ahh yes, the Angels of Death&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="75"&gt;         &lt;h1&gt;2004&lt;/h1&gt;       &lt;/td&gt;        &lt;td valign="top" width="426"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HappyHalloween_DE85/IMG_1789_2.jpg" target="_blank"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="IMG_1789" border="0" alt="IMG_1789" src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HappyHalloween_DE85/IMG_1789_thumb.jpg" width="125" height="167" /&gt;&lt;/a&gt; I couldn’t find a picture of me, just Alan. Dr. Cute!&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="75"&gt;         &lt;h1&gt;2005&lt;/h1&gt;       &lt;/td&gt;        &lt;td valign="top" width="426"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HappyHalloween_DE85/IMG_2361_2.jpg" target="_blank"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="IMG_2361" border="0" alt="IMG_2361" src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HappyHalloween_DE85/IMG_2361_thumb.jpg" width="416" height="312" /&gt;&lt;/a&gt;           &lt;br /&gt;Zombies love brrraaaaaiiiiinnnnssss….. &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="75"&gt;         &lt;h1&gt;2006&lt;/h1&gt;       &lt;/td&gt;        &lt;td valign="top" width="426"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HappyHalloween_DE85/CIMG2523.jpg" target="_blank"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="CIMG2523" border="0" alt="CIMG2523" src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HappyHalloween_DE85/CIMG2523_thumb.jpg" width="412" height="309" /&gt;&lt;/a&gt;           &lt;br /&gt;I’m bride of Frankenstein and Frankie is above me with his mask off – this was the year we vowed NO MORE MASKS FOR ALAN.&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="75"&gt;         &lt;h1&gt;2007&lt;/h1&gt;       &lt;/td&gt;        &lt;td valign="top" width="426"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HappyHalloween_DE85/PA270783.jpg" target="_blank"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="PA270783" border="0" alt="PA270783" src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HappyHalloween_DE85/PA270783_thumb.jpg" width="420" height="315" /&gt;&lt;/a&gt;           &lt;br /&gt;The devil made us do it! This is my first year at Microsoft and the year that &lt;a href="http://blogs.msdn.com/bethmassi/archive/2007/10/31/happy-halloween.aspx" target="_blank"&gt;Sara Ford came too&lt;/a&gt;.&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="75"&gt;         &lt;h1&gt;2008&lt;/h1&gt;       &lt;/td&gt;        &lt;td valign="top" width="426"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HappyHalloween_DE85/IMG_1150.jpg" target="_blank"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="IMG_1150" border="0" alt="IMG_1150" src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HappyHalloween_DE85/IMG_1150_thumb.jpg" width="417" height="313" /&gt;&lt;/a&gt;           &lt;br /&gt;Remember, kids – Always wear your seat belt!!! &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="75"&gt;         &lt;h1&gt;2009&lt;/h1&gt;       &lt;/td&gt;        &lt;td valign="top" width="426"&gt;         &lt;h1&gt;GUESS!&lt;/h1&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;Happy Halloween!!!!&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HappyHalloween_DE85/halloween_2.jpg" target="_blank"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="halloween" border="0" alt="halloween" src="http://blogs.msdn.com/blogfiles/bethmassi/WindowsLiveWriter/HappyHalloween_DE85/halloween_thumb.jpg" width="66" height="72" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9915547" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/bethmassi/archive/tags/Personal/default.aspx">Personal</category></item></channel></rss>