<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Visual Studio on dwmkerr.com</title><link>https://dwmkerr.com/categories/visual-studio/</link><description>Recent content in Visual Studio on dwmkerr.com</description><generator>Hugo -- gohugo.io</generator><language>en-uk</language><managingEditor>Dave Kerr</managingEditor><copyright>Copright &amp;copy; Dave Kerr</copyright><lastBuildDate>Sun, 30 Mar 2014 11:40:16 +0000</lastBuildDate><atom:link href="https://dwmkerr.com/categories/visual-studio/index.xml" rel="self" type="application/rss+xml"/><item><title>Managing Vsix Deployments with Powershell</title><link>https://dwmkerr.com/managing-vsix-deployments-with-powershell/</link><pubDate>Sun, 30 Mar 2014 11:40:16 +0000</pubDate><guid>https://dwmkerr.com/managing-vsix-deployments-with-powershell/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;tl;dr&lt;/strong&gt; - &lt;a href="https://github.com/dwmkerr/vsix-tools"&gt;vsix-tools&lt;/a&gt; fixes the &amp;lsquo;Invalid Multiple Files in VSIX&amp;rsquo; issue on the Visual Studio Gallery and lets you set vsix version numbers with Powershell.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I maintain a reasonably large project called SharpGL. This project contains two Vsix packages (Visual Studio Extensions), each of which contains project templates for Visual Studio.&lt;/p&gt;
&lt;p&gt;If you have ever worked with Vsix files before you might have noticed that the tools for them in Visual Studio seem a little flaky - but even more so is that Visual Studio Gallery site that you have to use to upload your extensions.&lt;/p&gt;
&lt;p&gt;Add more than one project template to your Vsix and try and upload it - this is what you&amp;rsquo;ll see:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.dwmkerr.com/wp-content/uploads/2014/03/InvalidMultipleZipFilesInVsix.jpg"&gt;&lt;img src="images/InvalidMultipleZipFilesInVsix.jpg" alt="InvalidMultipleZipFilesInVsix" width="263" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s a pain to solve this problem - basically you need to change the folder structure within the vsix file, then change the xml that describes it. Now this is not too much of a problem if you do it once or twice, but if you&amp;rsquo;re in the situation where you want to be able to build a release of your code rapidly, including extensions, this will seriously slow you down.&lt;/p&gt;
&lt;p&gt;Enter &lt;a href="https://github.com/dwmkerr/vsix-tools"&gt;VsixTools&lt;/a&gt;, a little Powershell script that lets you resolve this issue and as a bonus lets you set the version in the Vsix as well - very useful for scripts that build releases. You can use it like this:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;# Load vsix tools
. VsixTools.ps1
# Set the version number of &amp;#39;MyPackage&amp;#39; and fix the zip issue for uploading to the gallery.
$vsixPath = &amp;#34;c:/MyPackage.vsix&amp;#34;
Vsix-SetVersion -VsixPath $vsixPath -Version &amp;#34;2.2.0.1&amp;#34;
Vsix-FixInvalidMultipleFiles -VsixPath $vsixPath&amp;lt;/pre&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;This Powershell script has no dependencies, it&amp;rsquo;s just Powershell 2.0. Get the script at &lt;a href="https://github.com/dwmkerr/vsix-tools"&gt;github.com/dwmkerr/vsix-tools&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;It works for package manifests of version 1 or 2 - for anyone who&amp;rsquo;s lucky enough to have not had to delve into the internals of this that means that it works from Visual Studio 2010 onwards.&lt;/p&gt;</description><category>CodeProject</category></item><item><title>Recursive read lock acquisitions not allowed in this mode</title><link>https://dwmkerr.com/recursive-read-lock-acquisitions-not-allowed-in-this-mode/</link><pubDate>Wed, 10 Jul 2013 02:17:09 +0000</pubDate><guid>https://dwmkerr.com/recursive-read-lock-acquisitions-not-allowed-in-this-mode/</guid><description>&lt;p&gt;If you are using the following combination of tools:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="line-height: 14px;"&gt;Visual Studio 2012&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;Visual Studio Tools for Git&lt;/li&gt;
&lt;li&gt;Nuget&lt;/li&gt;
&lt;/ul&gt;
Then you may encounter some weird problems when trying to update Nuget packages. For me, updates regularly fail with:
&lt;p&gt;&lt;strong&gt;Recursive read lock acquisitions not allowed in this mode.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m lost on the root cause of this, but it does seem that the project I&amp;rsquo;m working on has files set to read-only by something regularly, perhaps Visual Studio is trying to make Git more TFS-y by locking things all over the place. Whatever the cause, I&amp;rsquo;ve found that the following usually helps:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span style="line-height: 14px;"&gt;Don't use Update-Package - use Install-Package instead.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;Make sure the solution has all of its files read+write, not read only.&lt;/li&gt;
&lt;li&gt;Open the team explorer and go to 'Commits' - making sure that the Git tools have loaded various components.&lt;/li&gt;
&lt;/ol&gt;
&lt;span style="line-height: 20px;"&gt;This combination of tricks seems to solve the problem. If anyone has any other ideas or suggestions, just comment.&lt;/span&gt;</description><category>CodeProject</category></item><item><title>Visual Studio Deployment Projects - an Update</title><link>https://dwmkerr.com/visual-studio-deployment-projects-an-update/</link><pubDate>Mon, 24 Jun 2013 12:18:18 +0000</pubDate><guid>https://dwmkerr.com/visual-studio-deployment-projects-an-update/</guid><description>&lt;p&gt;I received the following message in my inbox the other day:&lt;/p&gt;
&lt;p&gt;&amp;lsquo;[Uservoice declined - Bring back the basic setup and deployment project type Visual Studio Installer.&amp;rsquo;&lt;/p&gt;
&lt;p&gt;Some readers may recall my post on the frustrating &lt;a title="Deployment Projects in Visual Studio 2012" href="http://www.dwmkerr.com/2012/12/deployment-projects-in-visual-studio-2012/"&gt;removal of the simple deployment project from Visual Studio&lt;/a&gt;. Unfortunately, with this message, they have closed the Uservoice request to bring back the basic setup projects (the request is at &lt;a href="http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/3041773-bring-back-the-basic-setup-and-deployment-project-"&gt;&lt;a href="http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/3041773-bring-back-the-basic-setup-and-deployment-project-"&gt;http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/3041773-bring-back-the-basic-setup-and-deployment-project-&lt;/a&gt;&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s rare for me to blog or comment on products like visual studio, to complain or evangelise about features and so on, but in this case as the previous post had received some interest I thought I&amp;rsquo;d write an update.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s extremely frustrating for developers to have features like this removed from our toolkit. Is it fair to call it our toolkit? Perhaps not, but this is an extremely expensive product, we pay a lot of money for it and it&amp;rsquo;s a product that evolves in a sense based on what &lt;strong&gt;we &lt;/strong&gt;do. As we start developing more and more web based applications, the product evolves in that area. As we develop less in other areas, features are no longer invested in. This is all fair enough.&lt;/p&gt;
&lt;p&gt;However, it is difficult to keep your customers happy when a simple and extremely useful feature is removed, and replaced with essentially a cross sell link to another product. In fact, let&amp;rsquo;s look at this and really state what the problem is.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;We&amp;rsquo;ve paid a hell of a lot of money for a feature rich toolkit, that can cope with diverse development requirements. An element we&amp;rsquo;ve used for years has been removed without explanation and replaced with an advert for an expensive alternative.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I doubt very much the deployment project was a difficult or expensive one to maintain. In fact, its simplicity is one of the reasons it was popular. So most of us are thinking that a working, heavily used feature has been &lt;strong&gt;deliberately &lt;/strong&gt;removed. Why? To sell another product. This sort of mercenary behaviour is not appealing to us as customers.&lt;/p&gt;
&lt;p&gt;I would end this post by saying that us computer nerds are fickle and highly strung about things like this. If we feel we&amp;rsquo;re getting screwed over, we&amp;rsquo;re likely to move to alternative products.&lt;/p&gt;
&lt;p&gt;This indifference to customer opinion is rather worrying. (This was the &lt;strong&gt;second highest voted item in Visual Studio Uservoice&lt;/strong&gt;). It also seems to not be isolated. Many customers seem deeply disenchanted with decisions taken in Windows 8, these concerns have been raised and roundly ignored.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m not going to go on any more about this, the comments and posts have been made, the requests ignored.&lt;/p&gt;
&lt;p&gt;But I will say that if you have a online system to collect user feedback and requests for features for a product as expensive as Visual Studio, a request in the top three is for you to &lt;em&gt;bring back something you&amp;rsquo;ve removed&lt;/em&gt; to get a kickback from Flexera, and you ignore the request, then don&amp;rsquo;t bother asking for feedback, because it feels like a middle finger to your customers.&lt;/p&gt;</description><category>CodeProject</category></item><item><title>Web Deploy - Could not connect to the remote computer</title><link>https://dwmkerr.com/publish-web-web-deploy/</link><pubDate>Wed, 19 Jun 2013 09:22:06 +0000</pubDate><guid>https://dwmkerr.com/publish-web-web-deploy/</guid><description>&lt;p&gt;Using Web Deploy is a nice and easy way to publish websites and web applications with Visual Studio. However, I found one thing that can be a bit of a blocker, that didn&amp;rsquo;t seem to be explained anywhere very well.&lt;/p&gt;
&lt;p&gt;Let&amp;rsquo;s imagine I administer a webserver that hosts the site &lt;a href="https://www.something.com"&gt;www.something.com&lt;/a&gt;. I&amp;rsquo;ve installed the Remote Management tools for IIS and the Web Deploy stuff, and have also configured the site to allow Web Deploy. I now try and deploy using Visual Studio, with the settings below:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.dwmkerr.com/wp-content/uploads/2013/06/somesite.jpg"&gt;&lt;img src="images/somesite.jpg" alt="somesite" width="600" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Validating the connection fails with the message:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&amp;lsquo;Could not connect to the remote computer &amp;ldquo;somesite.com&amp;rdquo;. On the remote computer, make sure that Web Deploy is installed and that the required process (&amp;ldquo;Web Management Process&amp;rdquo;) is started. [more stuff] ERROR_DESTINATION_NOT_REACHABLE.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;So what do we try first?&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="line-height: 14px;"&gt;Check the Web Deploy feature is installed on the server, it is.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;Check the Web Management Process is running, it is.&lt;/li&gt;
&lt;li&gt;Check port 8172 is open, it is.&lt;/li&gt;
&lt;li&gt;Read up on similar issues, they say the same as the above.&lt;/li&gt;
&lt;/ul&gt;
I spent quite some time pulling my hair out over this - is it because I'm on a different domain? Is there some other port that needs to be open too?
&lt;p&gt;Now the error says &amp;lsquo;could not connect to the remote computer &amp;ldquo;somesite.com&amp;rdquo;&amp;rsquo; - so maybe the issue is here. I try the IP address, &lt;a href="https://www.somesite.com"&gt;www.somesite.com&lt;/a&gt; and the IP address with the port 8172 specified - no joy.&lt;/p&gt;
&lt;p&gt;It turns out, that even though it says &amp;lsquo;Server&amp;rsquo; in the first box (leading us to think it would be the address of a server we need), it&amp;rsquo;s actually the server &lt;strong&gt;with http &lt;/strong&gt;specified. Change the Server from &lt;strong&gt;somesite.com &lt;/strong&gt;to &lt;b&gt;&lt;a href="http://www.somesite.com"&gt;http://www.somesite.com&lt;/a&gt; &lt;/b&gt;and it works a charm.&lt;/p&gt;
&lt;p&gt;Not the most exciting post ever, but hopefully this&amp;rsquo;ll save someone else wasting the same amount of time that I did.&lt;/p&gt;</description><category>CodeProject</category></item><item><title>Switch Updated</title><link>https://dwmkerr.com/switch-updated/</link><pubDate>Sat, 16 Feb 2013 14:43:08 +0000</pubDate><guid>https://dwmkerr.com/switch-updated/</guid><description>&lt;p&gt;There have been some problems with the version of Switch uploaded to the Visual Studio Gallery. I&amp;rsquo;ve created a new version of Switch (1.4) and uploaded this - it works fine now, for Visual Studio 2008, 2010 and 2012.&lt;/p&gt;
&lt;p&gt;You can find out more about this extension on the &lt;a title="Switch" href="http://www.dwmkerr.com/switch/"&gt;Switch Page&lt;/a&gt;.&lt;/p&gt;</description><category>CodeProject</category></item><item><title>The Visual Studio Experimental Instance</title><link>https://dwmkerr.com/the-visual-studio-experimental-instance/</link><pubDate>Sat, 16 Feb 2013 14:41:27 +0000</pubDate><guid>https://dwmkerr.com/the-visual-studio-experimental-instance/</guid><description>&lt;p&gt;Working on some addins lately has taught me a few really useful tricks about debugging in Visual Studio. I&amp;rsquo;ll update this post over time.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The Experimental Instance&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Very useful to know - the experimental instance loads its extensions from a special folder, and debugging extensions drops them there. The location is:&lt;/p&gt;
&lt;p&gt;%UserProfile%\AppData\Local\Microsoft\VisualStudio\10.0Exp\Extensions\&lt;/p&gt;</description><category>CodeProject</category></item><item><title>Deployment Projects in Visual Studio 2012</title><link>https://dwmkerr.com/deployment-projects-in-visual-studio-2012/</link><pubDate>Sun, 02 Dec 2012 05:40:28 +0000</pubDate><guid>https://dwmkerr.com/deployment-projects-in-visual-studio-2012/</guid><description>&lt;p&gt;[Note: They aren&amp;rsquo;t bringing setup projects back, see &lt;a href="http://www.dwmkerr.com/2013/06/visual-studio-deployment-projects-an-update/"&gt;http://www.dwmkerr.com/2013/06/visual-studio-deployment-projects-an-update/&lt;/a&gt;]&lt;/p&gt;
&lt;p&gt;As part of Microsoft&amp;rsquo;s ongoing campaign to reduce the usability of their tools for anyone who isn&amp;rsquo;t working in exactly the way they want, Visual Studio 2012 no longer comes with the ability to create setup and deployment projects.&lt;/p&gt;
&lt;p&gt;This is a pretty serious change. For anyone who is developing client applications, then an installer is pretty critical. Now the feature set in the VS deployment projects was fairly small - they were aimed towards making pretty basic, lean installers. And that was &lt;em&gt;fine&lt;/em&gt;. That was what we needed it for. Installers for utility apps, installers for basic client applications, installers for testing out projects on other machines before we went to more advanced systems.&lt;/p&gt;
&lt;p&gt;What&amp;rsquo;s truly disappointing is the lack of alternatives. Rather suspiciously there are links to InstallShield projects in Visual Studio now.&lt;/p&gt;
&lt;p&gt;If you&amp;rsquo;ve never worked with InstallShield before then I envy you. It is truly awful - a maintainance nightmare combined with a user interface that makes creating basic installers baffling.&lt;/p&gt;
&lt;p&gt;So Visual Studio now has no deployment projects. You can try using the free edition of InstallShield, but be ready for a world of pain. Also, considering the vast complexity of the UI, the free edition is &lt;em&gt;incredibly &lt;/em&gt;limited in functionality - for example you cannot create &amp;lsquo;features&amp;rsquo; (i.e. the chunks of functionality that you offer as an optional feature for an installation).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example of Time Wasted&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;My Switch addin for Visual Studio adds a button to the UI that lets you switch between related files (cpp/h, aspx/aspx.cs etc etc).&lt;/p&gt;
&lt;p&gt;I need to update it to work in Visual Studio 2012. I cannot develop VS 2012 addin projects in Visual Studio 2010. With a sigh I move the solution into 2012. I write the 2012 addin. The deployment project doesn&amp;rsquo;t load (as expected). I build the binaries into specific locations. I open the project in 2010. The 2012 addin doesn&amp;rsquo;t load (as expected). However, the setup project will not build due to an error when &amp;lsquo;updating dependencies&amp;rsquo;. This project has no dependencies - it builds from specific locations.&lt;/p&gt;
&lt;p&gt;So now to release a version of Switch that supports VS2012, I need to use InstallShield. InstallShield&amp;rsquo;s free edition doesn&amp;rsquo;t support features - therefore I have to install Switch for 2008, 2010 and 2012 for everyone, always, regardless of whether they have it. A two hour update is not looking possible now. I don&amp;rsquo;t have the time to waste trying to &lt;strong&gt;bring back functionality I already had&lt;/strong&gt; and have to move onto other work.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Thanks MS for removing this critical feature, and replacing it with an essentially useless and overly complicated alternative.&lt;/p&gt;
&lt;p&gt;Please remember, we&amp;rsquo;ve paid for Visual Studio - not for a vessel to host adverts to other products. We had the functionality before, now its gone - replaced by links to an expensive (and frankly crap) suite of tools that aren&amp;rsquo;t suitable. Why has this happened? The cynical part of me thinks there&amp;rsquo;s some kind of deal going on between MS and InstallShield (well of course there is), and we&amp;rsquo;re suffering from it.&lt;/p&gt;
&lt;p&gt;Hit the uservoice page here: &lt;a href="http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/3041773-bring-back-the-basic-setup-and-deployment-project-" target="_blank"&gt;&lt;a href="http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/3041773-bring-back-the-basic-setup-and-deployment-project-"&gt;http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/3041773-bring-back-the-basic-setup-and-deployment-project-&lt;/a&gt;&lt;/a&gt; to try and vote for it to go back in.&lt;/p&gt;</description><category>CodeProject</category></item><item><title>Go Offline Extension for Visual Studio 2010</title><link>https://dwmkerr.com/go-offline-extension-for-visual-studio-2010/</link><pubDate>Mon, 18 Jun 2012 10:54:00 +0000</pubDate><guid>https://dwmkerr.com/go-offline-extension-for-visual-studio-2010/</guid><description>&lt;p&gt;Such a useful extension that I just had to big it up - the Go Offline extension adds the following menu item:&lt;/p&gt;
&lt;p&gt;File&amp;gt;Source Control&amp;gt;Go Offline&lt;/p&gt;
&lt;p&gt;&lt;a href="http://visualstudiogallery.msdn.microsoft.com/425f09d8-d070-4ab1-84c1-68fa326190f4?SRC=Home"&gt;http://visualstudiogallery.msdn.microsoft.com/425f09d8-d070-4ab1-84c1-68fa326190f4?SRC=Home&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;If you use TFS in a big environment, sometimes this can save a stack of time. Thanks to Bernhard Tschirren for taking the time to write this and share it!&lt;/p&gt;</description><category>CodeProject</category></item><item><title>Come on MS - Improve MFC</title><link>https://dwmkerr.com/come-on-ms-improve-mfc/</link><pubDate>Thu, 19 Apr 2012 09:02:00 +0000</pubDate><guid>https://dwmkerr.com/come-on-ms-improve-mfc/</guid><description>&lt;p&gt;Loads of developers still use MFC. OK - if you're writing a new project, MFC would not be a great choice. But what if you're maintaining a 1.5 million line MFC app?&amp;nbsp;&lt;/p&gt;
&lt;p&gt;MFC support in Visual Studio has barely improved since VC++ 6.0 - in fact its got worse. Their cursory attempt to show an effort by adding support for the Ribbon Control with the MFC feature pack was not enough. Why can we still not properly use tab controls in the dialog editor?&lt;/p&gt;
&lt;p&gt;Those who use MFC are probably supporting big enterprise applications - for a long time now we've been neglected. Please vote for more MFC support in Visual Studio Uservoice below:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/2782934-improve-mfc"&gt;http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/2782934-improve-mfc&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Will they listen? Chances are not - unless lots of people vote. But I'd really like to see some effort on this, it's a technology still used by many.&lt;/p&gt;
&lt;p&gt;It would be interesting to see a survey of enterprise applications - and what they're written in. It'd be interesting to then compare this to how well MS support that platform. MS will put lots of efforts into what they &lt;em&gt;think &lt;/em&gt;that developers &lt;em&gt;should &lt;/em&gt;be using - but how well are they supporting their real customers who are creating real products?&lt;/p&gt;</description><category>CodeProject</category></item><item><title>Create Item Templates in Visual Studio</title><link>https://dwmkerr.com/create-item-templates-in-visual-studio/</link><pubDate>Fri, 13 Apr 2012 06:29:00 +0000</pubDate><guid>https://dwmkerr.com/create-item-templates-in-visual-studio/</guid><description>&lt;p&gt;Part 3 of my series on extending Visual Studio is now available on the CodeProject:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.codeproject.com/Articles/365680/Extending-Visual-Studio-Part-3-Item-Templates"&gt;http://www.codeproject.com/Articles/365680/Extending-Visual-Studio-Part-3-Item-Templates&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this article we look at how to create new Item Templates in Visual Studio.&lt;/p&gt;</description><category>CodeProject</category></item><item><title>Switch</title><link>https://dwmkerr.com/switch/</link><pubDate>Sat, 04 Feb 2012 03:53:00 +0000</pubDate><guid>https://dwmkerr.com/switch/</guid><description>&lt;p&gt;&lt;img src="images/Title.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;I have written the second article in my series on Extending Visual Studio. In this article I describe how to create a Visual Studio Addin that allows you to switch between cpp/h files, WinForms code and designer, XAML and codebehind and so on. You can find the article on the CodeProject here:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.codeproject.com/Articles/324611/Extending-Visual-Studio-Part-2-Creating-Addins"&gt;http://www.codeproject.com/Articles/324611/Extending-Visual-Studio-Part-2-Creating-Addins&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;There is also a direct download page on this blog, you can get Switch from dwmkerr.com by going here:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.dwmkerr.com/page/Switch.aspx"&gt;http://www.dwmkerr.com/page/Switch.aspx&lt;/a&gt;&lt;/p&gt;</description><category>CodeProject</category></item><item><title>Extending Visual Studio Part 1 - Code Snippets</title><link>https://dwmkerr.com/extending-visual-studio-part-1-code-snippets/</link><pubDate>Wed, 30 Nov 2011 05:20:00 +0000</pubDate><guid>https://dwmkerr.com/extending-visual-studio-part-1-code-snippets/</guid><description>&lt;p&gt;I have published the first of a series of articles on extending Visual Studio on the CodeProject. Part 1 deals with Code Snippets, the article link is below, enjoy!&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.codeproject.com/KB/dotnet/extendingvisualstudio1.aspx"&gt;http://www.codeproject.com/KB/dotnet/extendingvisualstudio1.aspx&lt;/a&gt;&lt;/p&gt;</description><category>CodeProject</category></item><item><title>How to Debug a Visual Studio Extension</title><link>https://dwmkerr.com/how-to-debug-a-visual-studio-extension/</link><pubDate>Mon, 28 Nov 2011 11:11:00 +0000</pubDate><guid>https://dwmkerr.com/how-to-debug-a-visual-studio-extension/</guid><description>&lt;p&gt;Here are a few tips for debugging Visual Studio Extensions.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Visual Studio 2008/2010&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;If you need to debug your Visual Studio extension, you may find that Visual Studio itself locks it. This is a real drag - to resolve this issue, add the following as a pre-build step:&lt;/p&gt;
&lt;pre&gt;if exist "$(TargetPath).locked" del "$(TargetPath).locked"&lt;/pre&gt;
&lt;pre&gt;if not exist "$(TargetPath).locked" if exist "$(TargetPath)" &lt;br /&gt;move "$(TargetPath)" "$(TargetPath).locked"&lt;/pre&gt;
&lt;p&gt;This will ensure the locked file is moved out of the way first - very useful!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Visual Studio 2010&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Every time I do a clean checkout of one of my projects, it seems to lose the ability to be run in the Experimental mode of visual studio. Here's a quick tip - if you lose the ability to debug your visual studio extension, make sure you have the 'Debug' tab of your project set up as below:&lt;/p&gt;
&lt;p&gt;&lt;img src="images/screenshot.png" /&gt;&lt;/p&gt;
&lt;p&gt;Specifically with the external program set as visual studio and the command line arguments as &lt;strong&gt;/rootsuffix exp&lt;/strong&gt;. This will run your extension in the Experimental Instance of Visual Studio.&lt;/p&gt;</description><category>CodeProject</category></item></channel></rss>