Now I read the book "ASP.NET MVC 5, Freeman", and I've created 3 projects:
Using NuGet command line I have install a lot of packages, like in the book:
Instal-Package Microsoft.Aspnet.Mvc -version 5.0.0.0 -projectname SportsStore.Domain .. etc ..
But I think that I have install something wrong, because now I have error:
Build "SportsStore.WebUI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" use "System.Web.Mvc, Version=5.2.2.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" of the later version than the assembly "System.Web.Mvc, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35", to which reference is made c:\Users\Дима\Documents\Visual Studio 2013\Projects\SportsStore\SportsStore.WebUI\bin\SportsStore.WebUI.dll SportsStore.UnitTests
Can't understand, how to solve it
I ran into this exact same problem myself and decided to update the versions of Microsoft.Aspnet.Mvc to the same version defined in the WebUI project. It did the trick for me and I thought I would share.
So in Package Manager Console, I ran:
Update-Package Microsoft.Aspnet.Mvc -version 5.2.3 -projectname SportsStore.Domain
Update-Package Microsoft.Aspnet.Mvc -version 5.2.3 -projectname SportsStore.UnitTests
Note: My version at the time of this writing was 5.2.3 . You state above that yours was 5.2.2, so use that instead.
Normally when you upgrade/ install/ uninstall MVC package it depends on any other library for example I had issue that it was depending on MvcSiteMapProvider which was not compatible with MVC Version 5.2.7.
Here is solution for these type of issues
Upgrade MVC version either use NuGet Package
Manager or console. Install again uninstall library ( In my case I install again MvcSiteMapProvider)
Delete Obj folder, Clean and Build project.
The error message in the build explains the problem in clear terms if you know how to read it.
It starts by telling you that the WebUI project uses 5.2.2.0:
SportsStore.WebUI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null use System.Web.Mvc, Version=5.2.2.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
Then it tells you that one of your projects is referencing a different version:
later version than the assembly System.Web.Mvc, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
Since you stated in your question that you installed 5.0.0.0 in your domain project, you will need to remove that version from the project, and install the correct version (in this case 5.2.2.0)
You have to update your Microsoft Asp.NET MVC version. To do that;
Microsoft Asp.NET MVC
and update it.You may also try to replace the corresponding section by this section in web.config
. Not sure if it will work but it will only take 2 minutes to try.
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.2.2.0" />
</dependentAssembly>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With