Monday, January 4, 2010

Visual Studio 2008 and 2010 Project File Differences

I was working today on converting one of our larger web applications over to a Visual Studio 2010 project. Once I had converted the web application and related custom assemblies, I was curious to see what differences there were in the project files. Please note that I am referring to the actual .csproj (for a C# project) files, which are actually just XML files.

Here are the differences that I found:

  • <Project> node – ToolsVersion attribute value jumped to 4.0
  • Added the following new elements under the <PropertyGroup> element.
<PublishUrl>publish\</PublishUrl>
<Install>true</Install>
<InstallFrom>Disk</InstallFrom>
<UpdateEnabled>false</UpdateEnabled>
<UpdateMode>Foreground</UpdateMode>
<UpdateInterval>7</UpdateInterval>
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
<UpdatePeriodically>false</UpdatePeriodically>
<UpdateRequired>false</UpdateRequired>
<MapFileExtensions>true</MapFileExtensions>
<ApplicationRevision>0</ApplicationRevision>
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
<IsWebBootstrapper>false</IsWebBootstrapper>
<UseApplicationTrust>false</UseApplicationTrust>
<BootstrapperEnabled>true</BootstrapperEnabled>




  • Added the following new element under each <PropertyGroup> element for the defined builds – (Debug and Release in my case).
    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>





  • Added the following new <ItemGroup>






  <ItemGroup>
<BootstrapperPackage Include="Microsoft.Net.Client.3.5">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
<Install>false</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1</ProductName>
<Install>true</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
<Visible>False</Visible>
<ProductName>Windows Installer 3.1</ProductName>
<Install>true</Install>
</BootstrapperPackage>
</ItemGroup>



So it does not look like the differences are all that major, just adding some new elements for the most part. This will be useful if I ever need to switch a project file back and forth between the two VS versions.

1 comment:

Anonymous said...

I have some of the same lines added going from a vs2005 to vs2008 one of the things I did after was switch from .NET 2.0 to .NET 3.5 so it could have been that conversion process that added that.