Autofac doesn't like MVC Source
I added the ASP.NET MVC 2 RC2 source code to my solution (using these instructions: http://blog.stevensanderson.com/2009/02/03/using-the-aspnet-mvc-source-code-to-debug-your-app/), but now it won't build because of an error from Autofac.
The type 'System.Web.Mvc.IControllerFactory' is defined in an assembly
that is not referenced. You must add a reference to assembly
'System.Web.Mvc, Version=1.0.0.0, Culture=neutral,
PublicKeyToken=31bf3856ad364e35'.
I'm especially confused by the reference to MVC Version 1. Even before I added the MVC source code, I was using MVC 2 (from binary) and Autofac was not开发者_StackOverflow complaining.
The Autofac.Integration.Web assembly references System.Web.Mvc. You don't say which version of Autofac you are using, but if you are happy to use Autofac version 2 (currently beta) then there is a build available for .NET 4. See http://code.google.com/p/autofac/issues/detail?id=162 for details.
As eu-ge-ne mentioned, try the assembly binding. I have Autofac 1.4 running just fine against MVC 2 RC, although referenced as an assembly.
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0" newVersion="2.0.0.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
I couldn't really say why including the MVC project in your solution vs. referencing it is making a difference.
精彩评论