I can create and build a new ASP.NET project and use Razor and more technologies only specifying the Razor version and 0 assemblyIdentities. I've downloaded MVC5 and my empty web project has been modified, adding assemblyIdentites in Web.config. I'm using more technologies/references and they aren't specified in Web.config with assemblyIdentity. Razor for example.
Then, will use my web the latest technologies/DLLs installed in the server if I don't specify it with assemblyIdentity? Or why VS adds this to Web.config?
This is my Web.config modified when I updated to MVC5:
<?xml version="1.0"?>
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.5.1"/>
<httpRuntime targetFramework="4.5"/>
</system.web>
<!-- NEW
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-5.2.3.0" newVersion="5.2.3.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
-->
<appSettings>
<add key="webpages:Version" value="2.0.0.0" />
</appSettings>
</configuration>