Asp.net MVC 5不能在类库项目内的Razor视图中使用Html帮助程序

Asp.net MVC 5不能在类库项目内的Razor视图中使用Html帮助程序,razor,asp.net-mvc-5,html-helper,embedded-resource,portable-class-library,Razor,Asp.net Mvc 5,Html Helper,Embedded Resource,Portable Class Library,我正在使用Asp.NETMVC5制作一个插件架构应用程序,所以我创建了一个类库项目,其中将包含一些控制器和一些嵌入式Razor视图。一切正常我参考了以下DLL`System.Web.Mvc/System.Web.Optimazations/System.Web.Razor/System.Web.WebPages/System.Web.WebPages.Razor/System.Web.helpers 我添加了一个web.config文件,它包含以下内容: <?xml version="1.

我正在使用Asp.NETMVC5制作一个插件架构应用程序,所以我创建了一个类库项目,其中将包含一些控制器和一些嵌入式Razor视图。一切正常我参考了以下DLL`System.Web.Mvc/System.Web.Optimazations/System.Web.Razor/System.Web.WebPages/System.Web.WebPages.Razor/System.Web.helpers

我添加了一个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关键字etc,但我不能使用像“@html.ActionLink()等”这样的html帮助程序,vs 2015无法识别@html!!
有人能帮我吗?我在StackOF上看到了一些类似的问题,但没有帮助。谢谢。

要使Intellisense显示ASP.NET MVC特定属性,您需要将类库的输出路径更改为
bin

右键单击项目->属性->构建->将输出路径更改为“bin/”


现在,如果你在类库中打开一个Razor文件,你将获得Intellisense,例如
Html.ActionLink

你需要将Razor引用添加到项目和web配置中

我已经这样做了,但仍然不能使用Html帮助程序,但其他一切都可以正常工作。这是正确的答案。谢谢Darin。它在第一次没有工作没有时间,因为我没有重建应用程序。