<?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>How to: Retarget a project using DTE</title><link>http://blogs.msdn.com/b/visualstudio/archive/2010/02/25/how-to-retarget-a-project-using-dte.aspx</link><description>The upcoming .NET Framework 4 and Visual Studio 2010 (now in RC) has a lot of exciting new features. From BigInt and parallel libraries, to code contracts, CLR side by side, a new project system for C++ and multi-targeting. Just to name a few. There is</description><dc:language>en-US</dc:language><generator>Telligent Evolution Platform Developer Build (Build: 5.6.50428.7875)</generator><item><title>re: How to: Retarget a project using DTE</title><link>http://blogs.msdn.com/b/visualstudio/archive/2010/02/25/how-to-retarget-a-project-using-dte.aspx#9995043</link><pubDate>Tue, 13 Apr 2010 12:09:02 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9995043</guid><dc:creator>Philip Stears</dc:creator><description>&lt;p&gt;Thanks for posting this macro - it was very useful. I had to tweak it slightly for my usage because I use solution folders a lot:&lt;/p&gt;
&lt;p&gt; Const projectFolder = &amp;quot;{66A26720-8FB5-11D2-AA7E-00C04F688DDE}&amp;quot;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;' macro to retarget all C#/VB projects in a solution to .NET Framework 4 &lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;Sub SwitchFramework()&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Dim v40FrameworkName As FrameworkName = New FrameworkName(&amp;quot;.NETFramework&amp;quot;, New Version(4, 0))&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;For Each project As EnvDTE.Project In DTE.Solution.Projects&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SwitchFramework_Project(project, v40FrameworkName)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Next&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;End Sub&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;Sub SwitchFramework_Project(ByVal project As EnvDTE.Project, ByVal targetFramework As FrameworkName)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;If project.Kind = projectFolder Then&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;' Recurse&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;For Each projectItem As EnvDTE.ProjectItem In project.ProjectItems&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Dim childProject = TryCast(projectItem.Object, EnvDTE.Project)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;If childProject IsNot Nothing Then&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SwitchFramework_Project(childProject, targetFramework)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;End If&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Next&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ElseIf project.Kind = PrjKind.prjKindCSharpProject OrElse project.Kind = PrjKind.prjKindVBProject Then&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;' Switch the TFM&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;project.Properties.Item(&amp;quot;TargetFrameworkMoniker&amp;quot;).Value = targetFramework.FullName&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;End If&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;End Sub&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9995043" width="1" height="1"&gt;</description></item></channel></rss>