Hi Zain!
Thanks for the repsonse. Yes, I can confirm that it's only web-projects. I completly missed this the first time since I got overloaded with changed files list. I'm sorry about that (BTW, the async solution load is awesome in large solutions!) I did a thorough analysis now and here's what I've found. (I matches your statement and is actually better than that :) ).
I can confirm that only it touches Web Application projects (C# and VB). Here's the affected file types:
1. The project file:
Here's the contents of a patch file. I hope it comes out OK. As you can see, opening the project added some stuff and changed the old tool's version. A more detailed analysis shows that it's actually safe to commit the changes. VS2010 won't try to revert them to the old format, even when editing the project (e.g. adding a file). So, I guess, it's just a one time compatibility impact.
Index: Web.csproj
===================================================================
--- Web.csproj (revision 22532)
+++ Web.csproj (working copy)
@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="schemas.microsoft.com/.../2003" ToolsVersion="4.0">
+ <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<ProductVersion>9.0.30729</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
@@ -29,7 +30,7 @@
</FileUpgradeFlags>
<UpgradeBackupLocation>
</UpgradeBackupLocation>
- <OldToolsVersion>3.5</OldToolsVersion>
+ <OldToolsVersion>4.0</OldToolsVersion>
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>..\..\..\key.snk</AssemblyOriginatorKeyFile>
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
@@ -382,6 +383,10 @@
<ItemGroup>
<Folder Include="Res\" />
</ItemGroup>
+ <PropertyGroup>
+ <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
+ <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
+ </PropertyGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<PropertyGroup>
<PreBuildEvent>
@@ -407,5 +412,6 @@
</FlavorProperties>
</VisualStudio>
</ProjectExtensions>
- <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />
+ <Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" />
+ <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" Condition="false" />
</Project>
\ No newline at end of file
2. Resource and Settings designer files:
Apparently, here, too, only Web-Application project designer-files for Resources, Settings, etc are affected.
It touches the Runtime Version in the header section. A test showed, opening the resource with VS 2010 doesn't revert the change, which is good. So, this leaves only one real issue: When you're actually editing the resources in VS2010, the new Runtime Version gets set. And when you then oven it in VS 11, it would touch the file once more. For me, that's a compromise I can live with, since I don't have that many resources in the solution I'd be developing with both VS version.
Index: Resources.Designer.cs
===================================================================
--- Resources.Designer.cs (revision 22532)
+++ Resources.Designer.cs (working copy)
@@ -1,7 +1,7 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
-// Runtime Version:4.0.30319.1
+// Runtime Version:4.0.30319.17379
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
3. ASPX-designer files.
Also, the header in ASPX-designer files only gets touched by VS 11 when you edit the markup. And then VS2010 does not touch this new header at all. Which is _great_!
Sorry, again, for the confusion.
Regards, Michael