Así que estoy desarrollando una biblioteca interna para MVC 3 y quiero agregarla a mi proyecto.
Lo agregué a mi web.config. Agregué el ensamblaje y lo agregué a las páginas -> sección de espacios de nombres y ... no. No funciona
Intenté recompilar, etc. pero a Razor no le gusta en absoluto. No es un problema inteligente ... el sitio no puede ejecutarse si uso mi espacio de nombres definido.
La única forma en que lo hice funcionar fue usando las siguientes declaraciones:
@using Sample.Helpers
No quiero usarlo en las páginas. Quiero poder implementarlo en muchos proyectos y agregarlo a la web.config es definitivamente el camino a seguir.
¿Alguien se topó con este problema?
Respuestas
10 por respuesta № 1Necesitas agregarlo en el ~/Views/web.config
porque Razor usa una sección de configuración diferente:
<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<pages pageBaseType="System.Web.Mvc.WebViewPage">
<namespaces>
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Routing" />
<add namespace="YourNamespaceContainingTheHelperMethod" />
</namespaces>
</pages>
</system.web.webPages.razor>
5 para la respuesta № 2
Razor usa una sección de configuración diferente
<configSections>
<sectionGroup name="system.web.webPages.razor"
type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="host"
type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
requirePermission="false" />
<section name="pages"
type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
requirePermission="false" />
</sectionGroup>
</configSections>
<system.web.webPages.razor>
<pages pageBaseType="Foo.Bar">
<namespaces>
<add namespace="Foo.FooBar" />
</namespaces>
</pages>
</system.web.webPages.razor>