I had a problem when instead of building a newer version, the basket uses an older GAC'd build.
Server:
Assembly version: ASP.NET MVC 3 RC 1 (3.0.11029.0) Full name: System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 Code base: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Web.Mvc/v4.0_3.0.0.0__31bf3856ad364e35/System.Web.Mvc.dll Deployment: GAC-deployed
Development Machine:
Assembly version: Unknown version (3.0.20105.0) Full name: System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 Code base: file:
The new version of RTM (3.0.20105.0) is located in the bin directory of the application. However, the application uses the one located in the GAC instead of the local bin. My experience with Windows applications - a local library deployed in a DLL always takes precedence, because the GAC is checked only if the DLL is not found in the same directory as the application. This agreement does not apply to the web application.
How can I get it to use my new version of bin deployed by DLL (3.0.20105.0)?
Edit: I really tried to link forwarding as follows:
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" /> <bindingRedirect oldVersion="3.0.11029.0" newVersion="3.0.20105.0" />
I tried several changes in oldversion such as 0.0.0.0-4.0.0.0 . In all my attempts, he usually downloaded an older version or gave me this exception message:
Could not load file or assembly 'System.Web.Mvc' or one of its dependencies. The located assembly manifest definition does not match the assembly reference.
There were no errors in the binding log except for the last two lines:
WRN: Comparing the assembly name resulted in the mismatch: Build Number ERR: Failed to complete setup of assembly (hr = 0x80131040). Probing terminated.