Asp.net MVC 5不能在类库项目内的Razor视图中使用Html帮助程序
我正在使用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文件,它包含以下内容: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.
<?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。它在第一次没有工作没有时间,因为我没有重建应用程序。