0

Я создаю приложение архитектуры плагина с использованием Asp.Net MVC 5, поэтому я создал проект библиотеки классов, который будет содержать некоторые контроллеры и некоторые встроенные виды Razor , все работает отлично, я сделал несколько ссылок на следующие файлы: «System.Web.Mvc/System.Web.Optimazations/System.Web.Razor/System.Web.WebPages/System.Web.WebPages.Razor/System.Web.helpers.Asp.net MVC 5 не может использовать Html Helpers в представлении Razor внутри проекта библиотеки классов

Я добавил файл 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 хелпер, как «@ Html.ActionLink() и т.д., @ Html не признан vs 2015 !! Может ли кто-нибудь помочь мне, пожалуйста, я видел некоторые подобные вопросы здесь, на StackOF, но он не помогает. Спасибо.

ответ

0

Чтобы сделать Intellisense отображаемыми свойствами ASP.NET MVC вам необходимо изменить путь вывода библиотеки классов на bin:

правой кнопкой мыши проект -> Свойства -> Build -> Изменение выходного пути к «бен /»

Теперь, если открыть файл Razor в библиотеку классов вы получите Intellisense для таких вещей, как Html.ActionLink.

+0

Это ПРАВИЛЬНЫЙ ответ. спасибо Дарин. он не работал в первый раз, потому что я не перестраивал приложение. – Haytham

0

Вам необходимо добавить ссылку на бритву в проектную и сетевую конфигурацию

+0

Я уже сделал это, но все еще не могу использовать помощники Html, но все остальное работает нормально. – Haytham