<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://msmvps.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>VS2005 and VS2008 co-existence</title><link>http://msmvps.com/blogs/jon_skeet/archive/2007/11/20/vs2005-and-vs2008-co-existence.aspx</link><description>This is a &amp;quot;notepad&amp;quot; type post - I&amp;#39;m writing it as I go along, and I may write up the conclusions later on as a full article for one of the other web sites. However, the plan is to investigate how best to work in an environment where both</description><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP2 (Build: 40407.4157)</generator><item><title>re: VS2005 and VS2008 co-existence</title><link>http://msmvps.com/blogs/jon_skeet/archive/2007/11/20/vs2005-and-vs2008-co-existence.aspx#1669562</link><pubDate>Fri, 06 Feb 2009 16:55:05 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1669562</guid><dc:creator>Filip</dc:creator><description>&lt;p&gt;I managed to track down the new link for the Project Converter:&lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_new" href="http://www.emmet-gray.com/Articles/ProjectConverter.htm"&gt;www.emmet-gray.com/.../ProjectConverter.htm&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;(works great, thanks Emmet!)&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1669562" width="1" height="1"&gt;</description></item><item><title>re: VS2005 and VS2008 co-existence</title><link>http://msmvps.com/blogs/jon_skeet/archive/2007/11/20/vs2005-and-vs2008-co-existence.aspx#1658652</link><pubDate>Tue, 06 Jan 2009 16:40:08 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1658652</guid><dc:creator>skeet</dc:creator><description>&lt;p&gt;Sorry Katrin, I don&amp;#39;t know anything about it :(&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1658652" width="1" height="1"&gt;</description></item><item><title>re: VS2005 and VS2008 co-existence</title><link>http://msmvps.com/blogs/jon_skeet/archive/2007/11/20/vs2005-and-vs2008-co-existence.aspx#1658650</link><pubDate>Tue, 06 Jan 2009 16:16:01 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1658650</guid><dc:creator>Katrin</dc:creator><description>&lt;p&gt;Hi the links no longer work. Is there another place where I can get the Project Converter?&lt;/p&gt;
&lt;p&gt;Thanks!&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1658650" width="1" height="1"&gt;</description></item><item><title>re: VS2005 and VS2008 co-existence</title><link>http://msmvps.com/blogs/jon_skeet/archive/2007/11/20/vs2005-and-vs2008-co-existence.aspx#1623318</link><pubDate>Fri, 16 May 2008 11:41:40 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1623318</guid><dc:creator>madmac</dc:creator><description>&lt;p&gt;Many thanks for this conversion utility - I have untied the noose around my neck and i am not jumping of this table now :&amp;#172;)&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1623318" width="1" height="1"&gt;</description></item><item><title>re: VS2005 and VS2008 co-existence</title><link>http://msmvps.com/blogs/jon_skeet/archive/2007/11/20/vs2005-and-vs2008-co-existence.aspx#1621071</link><pubDate>Mon, 12 May 2008 18:58:29 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1621071</guid><dc:creator>skeet</dc:creator><description>&lt;p&gt;@Learning: I suggest you ask the author:&lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_new" href="http://home.hot.rr.com/graye/AboutMe.htm"&gt;home.hot.rr.com/.../AboutMe.htm&lt;/a&gt;&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1621071" width="1" height="1"&gt;</description></item><item><title>re: VS2005 and VS2008 co-existence</title><link>http://msmvps.com/blogs/jon_skeet/archive/2007/11/20/vs2005-and-vs2008-co-existence.aspx#1620964</link><pubDate>Mon, 12 May 2008 17:09:54 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1620964</guid><dc:creator>Learning</dc:creator><description>&lt;p&gt;Can some one please explain to me how to use the ProjectConverter? &lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1620964" width="1" height="1"&gt;</description></item><item><title>re: VS2005 and VS2008 co-existence</title><link>http://msmvps.com/blogs/jon_skeet/archive/2007/11/20/vs2005-and-vs2008-co-existence.aspx#1618375</link><pubDate>Fri, 09 May 2008 17:55:05 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1618375</guid><dc:creator>Tom</dc:creator><description>&lt;p&gt;For a while I used VS2005 at home and VS2008 at work. &amp;nbsp;Since I often swapped projects between the two so I could work at home, my method was to simply create new controls in the other and copy the source (which never changed). &amp;nbsp;I&amp;#39;ve since decided to use VS2005 at work to simplify the situation, but I had to port my 2008 projects back to 2005. &amp;nbsp;I figured it was simply a matter of changing a few details, but I didn&amp;#39;t know exactly which ones. &amp;nbsp;Your experiment has been a great help. &amp;nbsp;Thanks!&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1618375" width="1" height="1"&gt;</description></item><item><title>re: VS2005 and VS2008 co-existence</title><link>http://msmvps.com/blogs/jon_skeet/archive/2007/11/20/vs2005-and-vs2008-co-existence.aspx#1594488</link><pubDate>Fri, 18 Apr 2008 22:59:39 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1594488</guid><dc:creator>graye</dc:creator><description>&lt;p&gt;Final versions of the ProjectConverter source code are at &lt;a rel="nofollow" target="_new" href="http://home.hot.rr.com/graye/Programs"&gt;home.hot.rr.com/.../Programs&lt;/a&gt;&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1594488" width="1" height="1"&gt;</description></item><item><title>re: VS2005 and VS2008 co-existence</title><link>http://msmvps.com/blogs/jon_skeet/archive/2007/11/20/vs2005-and-vs2008-co-existence.aspx#1586339</link><pubDate>Mon, 14 Apr 2008 13:51:09 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1586339</guid><dc:creator>lonifasiko</dc:creator><description>&lt;p&gt;Installed VS2008 thinking that other team members running VS2005 would not run into many problems when opening my solutions created with from VS2008. I&amp;#39;m afraid yes, definitively there are big problems...until I discovered ProjectConverter utility from graye. &lt;/p&gt;
&lt;p&gt;Thanks graye for developing such a useful tool!&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1586339" width="1" height="1"&gt;</description></item><item><title>re: VS2005 and VS2008 co-existence</title><link>http://msmvps.com/blogs/jon_skeet/archive/2007/11/20/vs2005-and-vs2008-co-existence.aspx#1531830</link><pubDate>Mon, 03 Mar 2008 09:01:34 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1531830</guid><dc:creator>Marc Gravell</dc:creator><description>&lt;p&gt;For info - note that web-application-projects may have some issues, due to the extra import:&lt;/p&gt;
&lt;p&gt; &amp;nbsp;&amp;lt;Import Project=&amp;quot;$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v8.0\WebApplications\Microsoft.WebApplication.targets&amp;quot; /&amp;gt;&lt;/p&gt;
&lt;p&gt;The 8.0 is important; VS2008 will detect this (even if other project changes applied) and the upgrade wizard will whack to 9.0; but this will then fail on VS2005-only machines.&lt;/p&gt;
&lt;p&gt;Copying the .targets file and letting 2005 open it with the 9.0 raises a security prompt (once-per-project).&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1531830" width="1" height="1"&gt;</description></item><item><title>re: VS2005 and VS2008 co-existence</title><link>http://msmvps.com/blogs/jon_skeet/archive/2007/11/20/vs2005-and-vs2008-co-existence.aspx#1526252</link><pubDate>Wed, 27 Feb 2008 21:09:44 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1526252</guid><dc:creator>graye</dc:creator><description>&lt;p&gt;Updated version of Project Converter has been posted. &amp;nbsp;Now includes a C# version of the source code&lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_new" href="http://home.hot.rr.com/graye/Temp/ProjectConverter.zip"&gt;home.hot.rr.com/.../ProjectConverter.zip&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_new" href="http://home.hot.rr.com/graye/Temp/ProjectConverter_CS.zip"&gt;home.hot.rr.com/.../ProjectConverter_CS.zip&lt;/a&gt;&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1526252" width="1" height="1"&gt;</description></item><item><title>re: VS2005 and VS2008 co-existence</title><link>http://msmvps.com/blogs/jon_skeet/archive/2007/11/20/vs2005-and-vs2008-co-existence.aspx#1489132</link><pubDate>Thu, 31 Jan 2008 22:46:24 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1489132</guid><dc:creator>Joe</dc:creator><description>&lt;p&gt;Very nice. I used this information to create a knowledgebase wiki for my tech team, should they encounter a VS2008 solution and they haven&amp;#39;t installed VS2008 yet. Thanks for the information, it is most helpful.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1489132" width="1" height="1"&gt;</description></item><item><title>re: VS2005 and VS2008 co-existence</title><link>http://msmvps.com/blogs/jon_skeet/archive/2007/11/20/vs2005-and-vs2008-co-existence.aspx#1453262</link><pubDate>Thu, 10 Jan 2008 18:14:54 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1453262</guid><dc:creator>stevfuri</dc:creator><description>&lt;p&gt;When I convert a project it says everything goes according to plan but when I Open the new project file in VS2005 I&amp;#39;m told &amp;quot;The selected file is a solution file, but was created by a newer version of this application and cannot be opened.&amp;quot;&lt;/p&gt;
&lt;p&gt;When I Open it with VS2008 I receive the VS Conversion Wizard which makes me think it was actually converted back to VS2005.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1453262" width="1" height="1"&gt;</description></item><item><title>re: VS2005 and VS2008 co-existence</title><link>http://msmvps.com/blogs/jon_skeet/archive/2007/11/20/vs2005-and-vs2008-co-existence.aspx#1426476</link><pubDate>Sun, 30 Dec 2007 02:24:06 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1426476</guid><dc:creator>graye</dc:creator><description>&lt;p&gt;I just finished a &amp;quot;project converter&amp;quot; application that will allow you to convert back and forth between VS2005 and VS2008.&lt;/p&gt;
&lt;p&gt;It&amp;#39;s an &amp;quot;advanced beta&amp;quot;, but you&amp;#39;re welcome to take a look at the VB.Net 2008 source code.&lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_new" href="http://home.hot.rr.com/graye/Temp/ProjectConverter.zip"&gt;home.hot.rr.com/.../ProjectConverter.zip&lt;/a&gt;&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1426476" width="1" height="1"&gt;</description></item><item><title>94files  &amp;raquo; Blog Archive   &amp;raquo; VS2005 and VS2008 co-existence</title><link>http://msmvps.com/blogs/jon_skeet/archive/2007/11/20/vs2005-and-vs2008-co-existence.aspx#1347421</link><pubDate>Thu, 22 Nov 2007 14:47:56 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1347421</guid><dc:creator>94files  » Blog Archive   » VS2005 and VS2008 co-existence</dc:creator><description>&lt;p&gt;Pingback from &amp;nbsp;94files &amp;nbsp;&amp;amp;raquo; Blog Archive &amp;nbsp; &amp;amp;raquo; VS2005 and VS2008 co-existence&lt;/p&gt;
&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1347421" width="1" height="1"&gt;</description></item><item><title>re: VS2005 and VS2008 co-existence</title><link>http://msmvps.com/blogs/jon_skeet/archive/2007/11/20/vs2005-and-vs2008-co-existence.aspx#1345194</link><pubDate>Wed, 21 Nov 2007 17:56:05 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1345194</guid><dc:creator>skeet</dc:creator><description>&lt;p&gt;Firstly, the features of the &amp;quot;.NET 3.5 framework&amp;quot; are *not* syntactic sugar - and can't be, as syntactic sugar is a *language* feature. It's worth differentiating between the framework and C# as a language.&lt;/p&gt;
&lt;p&gt;That said, almost all the features of C# 3 are available targeting .NET 2.0, with the following caveats:&lt;/p&gt;
&lt;p&gt;1) Without the expression tree support in the framework, the compiler can't output expression tree creation code.&lt;/p&gt;
&lt;p&gt;2) Using query expressions requires support of whatever you're trying to call them on, or extension methods - but basically you need whichever Select, Where etc methods you're going to call. I believe there's an open source LINQ to Objects provider being written to target .NET 2.0, but I haven't looked at it.&lt;/p&gt;
&lt;p&gt;3) Extension methods require an attribute which you can declare yourself, but it's a bit of a hack.&lt;/p&gt;
&lt;p&gt;The point of this original post, however, was to *prevent* the unintentional use of C# 3 features when it would screw up other developers having to compile the same code with a C# 2 compiler.&lt;/p&gt;
&lt;p&gt;Stefan, one point I meant to mention before: yes, *some* features can be detected with a regular expression, but I think you'll find it rather harder to work out whether the type inference rules of C# 2 are adequate or whether a particular expression relies on the new rules in C# 3, without basically building a compiler yourself.&lt;/p&gt;
&lt;p&gt;Jon&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1345194" width="1" height="1"&gt;</description></item><item><title>re: VS2005 and VS2008 co-existence</title><link>http://msmvps.com/blogs/jon_skeet/archive/2007/11/20/vs2005-and-vs2008-co-existence.aspx#1345157</link><pubDate>Wed, 21 Nov 2007 17:02:11 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1345157</guid><dc:creator>Potiguar</dc:creator><description>&lt;p&gt;I might be wrong but it seems to be that some of the features of &amp;nbsp;the 3.5 Framework being purely sintatic sugar, we can still compile targeting the 2.0 when using them. In my experience I created a simple class with automatic properties and it also compiles. I guess it&amp;#39;s creating a private field on the fly anyway, so it&amp;#39;s compilable... same thing with vars, since the compiler will just replace the&lt;/p&gt;
&lt;p&gt;var x = 3;&lt;/p&gt;
&lt;p&gt;for&lt;/p&gt;
&lt;p&gt;int x = 3;&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1345157" width="1" height="1"&gt;</description></item><item><title>re: VS2005 and VS2008 co-existence</title><link>http://msmvps.com/blogs/jon_skeet/archive/2007/11/20/vs2005-and-vs2008-co-existence.aspx#1344322</link><pubDate>Wed, 21 Nov 2007 10:21:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1344322</guid><dc:creator>skeet</dc:creator><description>&lt;p&gt;Stefan,&lt;/p&gt;
&lt;p&gt;I have no problem with &amp;quot;var&amp;quot; being supported by default when targeting .NET 2.0, but that's not what my change attempted to achieve. It wasn't changing the target *platform*, it was trying to change the *tools* used for building the solution. As I understand it, setting ToolsVersion to 2.0 should mean that the 2.0 compiler is used, forcing only 2.0 features to be used. That didn't work on my box, despite the experiences of others.&lt;/p&gt;
&lt;p&gt;Saying 'The only way to force &amp;quot;C#2.0&amp;quot; language features is to simply not use them' is both unsatisfactory and incorrect. &lt;/p&gt;
&lt;p&gt;Unsatisfactory: relying on people just getting it right when it should be easy to automate is always unsatisfactory. All we need is to use the C# 2 compiler when building.&lt;/p&gt;
&lt;p&gt;Incorrect: As I've shown, using the LangVersion element forces the compiler to acknowledge C# 3 features - the pity is that it's not supported under VS2005.&lt;/p&gt;
&lt;p&gt;The &amp;quot;mixed IDE&amp;quot; development is likely to be common for a while, and it's a shame that it doesn't work *quite* as well as it should do. Allowing VS2005 developers to build C# 3 code is certainly a step in the right direction (although I haven't looked into how easy that would be to do) but it means that all devs need to learn C# 3 in order to understand their colleagues' code, which isn't ideal.&lt;/p&gt;
&lt;p&gt;Jon&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1344322" width="1" height="1"&gt;</description></item><item><title>re: VS2005 and VS2008 co-existence</title><link>http://msmvps.com/blogs/jon_skeet/archive/2007/11/20/vs2005-and-vs2008-co-existence.aspx#1344236</link><pubDate>Wed, 21 Nov 2007 09:31:42 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1344236</guid><dc:creator>[Stefan]</dc:creator><description>&lt;p&gt;The reason why &amp;quot;var&amp;quot; is supported tough you&amp;#39;ve selected &amp;quot;2.0 Platform&amp;quot; is that neither &amp;quot;var&amp;quot; nor Lambda Expressions use new Platform features, only the Compiler and IntelliSense got updated to be a bit &amp;quot;smarter&amp;quot;. Your assembly will thus be runnable under the 2.0 Platform.&lt;/p&gt;
&lt;p&gt;That behaviour of VS.NET is correct. The only way to force &amp;quot;C#2.0&amp;quot; language features is to simply not use them. If you are using a version control system you could do a RegExp check on checked-in files and warn if developers check in files with \svar\s or .*=&amp;gt;.*.&lt;/p&gt;
&lt;p&gt;With a VCS you could also automate the process of keeping the V10 and V9 SLN files in sync, and to check for potential problems in the VCPROJ files ( $(MSBuildToolsPath) ).&lt;/p&gt;
&lt;p&gt;By the way: It should be possible to force VS.2005 to compile those 2008 solutions with the new C#3.0 compiler, as long as it is installed. It should work the same way as back when it was needed to force 2003 to compile with the VC6 compiler.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1344236" width="1" height="1"&gt;</description></item></channel></rss>