0

Asp.Net MVC 5를 사용하여 플러그인 아키텍처 응용 프로그램을 만들고 있으므로 일부 컨트롤러 및 일부 내장 된 면도기 뷰가 포함될 클래스 라이브러리 프로젝트를 만들었습니다. . 모든 것이 잘 작동하는데, 다음 Dlls`System.Web.Mvc/System.Web.Optimazations/System.Web.Razor/System.Web.WebPages/System.Web.WebPages.Razor/System.Web.helpers에 대한 참조를 만들었습니다. Asp.net MVC 5 클래스 라이브러리 프로젝트 내에서 면도기보기에서 Html 헬퍼를 사용할 수 없습니다.

은 내가 web.config 파일을 추가하고이 포함 된 것입니다 :

<?xml version="1.0"?> 

<configuration> 
    <configSections> 
    <sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> 
     <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" /> 
     <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" /> 
    </sectionGroup> 
    </configSections> 

    <system.web.webPages.razor> 
    <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.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.Optimization"/> 
     <add namespace="System.Web.Routing" /> 
     <add namespace="Plugin_1" /> 
     </namespaces> 
    </pages> 
    </system.web.webPages.razor> 

    <appSettings> 
    <add key="webpages:Enabled" value="false" /> 
    </appSettings> 

    <system.web> 
    <compilation debug="true" targetFramework="4.5.2" > 


    </compilation> 

    <httpRuntime targetFramework="4.5.2" /> 
    <pages> 
     <namespaces> 
     <add namespace="System.Web.Mvc" /> 
     <add namespace="System.Web.Mvc.Ajax" /> 
     <add namespace="System.Web.Mvc.Html" /> 
     <add namespace="System.Web.Optimization"/> 
     <add namespace="System.Web.Routing" /> 
     <add namespace="Plugin_1" /> 
     <add namespace="Kendo.Mvc.UI"/> 
     </namespaces> 
    </pages> 
    <httpModules> 
     <add name="ApplicationInsightsWebTracking" type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, Microsoft.AI.Web" /> 
    </httpModules> 
    </system.web> 

    <system.webServer> 
    <handlers> 
     <remove name="BlockViewHandler"/> 
     <add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" /> 
    </handlers> 
    </system.webServer> 
</configuration> 

나는 @model 키워드 등을 사용할 수 있지만 난 등) ("@ Html.ActionLink 같은 HTML 도우미를 사용할 수 없습니다 @ html이 2015 년 대에 승인되지 않았습니다! StackOF에서 비슷한 질문을 한 적이 있습니까?하지만 도움이되지 않습니다.

답변

0

Intellisense에 ASP.NET MVC 특정 속성을 표시하려면 클래스 라이브러리의 출력 경로를 bin :

으로 변경해야합니다.

오른쪽 클릭 프로젝트 -> 속성 -> 빌드 -> 당신이 당신의 클래스 라이브러리에 면도기 파일을 열 경우 변경 출력 경로가 "빈은 /"

지금 당신이 Html.ActionLink 같은 것들에 대한 인텔리을 얻을 것이다합니다.

+0

이것이 올바른 답변입니다. 대린 감사합니다. 그것은 애플 리케이션을 다시 작성하지 않았기 때문에 처음으로 작업을하지 못했습니다. – Haytham

0

프로젝트 및 웹 설정에 면도기 참조를 추가해야합니다.

+0

나는 이미 그랬지만 여전히 HTML 헬퍼를 사용할 수는 없지만 그 밖의 모든 것은 잘 동작합니다. – Haytham