usar - pasar datos de una vista a un controlador c#
MVC5 Autofac: la vista encontrada en no se creĆ³ (2)
Debe registrar su contenedor IoC para autofac. En tu global.asax :
protected void Application_Start()
{
var builder = new ContainerBuilder();
builder.RegisterControllers(typeof(MvcApplication).Assembly);
var container = builder.Build();
DependencyResolver.SetResolver(new AutofacDependencyResolver(container));
// Other MVC setup...
}
Creé una aplicación MVC 5.0 muy simple que llevo al repositorio de GitHub: https://github.com/marxin/mvc-sample . Mi motivación es ejecutar la aplicación en Linux con mono 3.2.3.
Me gustaría agregar el paquete Autofac NuGet (más precisamente 3.3.0), que funciona bien para mí. El problema es que si agrego el paquete de integración Autofac.Mvc5, Razor deja de funcionar con el siguiente error:
System.InvalidOperationException
The view found at ''~/Views/Home/Index.cshtml'' was not created.
Description: HTTP 500.Error processing request.
Details: Non-web exception. Exception origin (name of application or object): System.Web.Mvc.
Exception stack trace:
at System.Web.Mvc.BuildManagerCompiledView.Render (System.Web.Mvc.ViewContext viewContext, System.IO.TextWriter writer) [0x00000] in <filename unknown>:0 at System.Web.Mvc.ViewResultBase.ExecuteResult (System.Web.Mvc.ControllerContext context) [0x00000] in <filename unknown>:0 at System.Web.Mvc.ControllerActionInvoker.InvokeActionResult (System.Web.Mvc.ControllerContext controllerContext, System.Web.Mvc.ActionResult actionResult) [0x00000] in <filename unknown>:0 at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive (IList`1 filters, Int32 filterIndex, System.Web.Mvc.ResultExecutingContext preContext, System.Web.Mvc.ControllerContext controllerContext, System.Web.Mvc.ActionResult actionResult) [0x00000] in <filename unknown>:0 at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive (IList`1 filters, Int32 filterIndex, System.Web.Mvc.ResultExecutingContext preContext, System.Web.Mvc.ControllerContext controllerContext, System.Web.Mvc.ActionResult actionResult) [0x00000] in <filename unknown>:0
Dif .: https://github.com/marxin/mvc-sample/commit/ca980adcf1d67e2e74729b27b11c26065dd2567e
¿Podrían ayudarme por favor, cuál es el mínimo necesario que se debe registrar en Autofac para habilitar las páginas de vista de Razor?
Si intento una plantilla aspx, todo funciona bien.
Gracias, Martin
OK, el problema estaba en la definición de referencia de web.config, consulte la siguiente diferencia: https://github.com/marxin/mvc-sample/commit/3d5d7fef6f0284a96518852e0d892ca6205f5679
Por cierto. MVC5 realmente no es compatible con mono, pero hay solicitudes de extracción que corregirán las características que faltan.
Gracias