将输出路径更改为 bin/ 是正确的答案,但我对其进行了一些扩展。所有创建具有智能感知支持的“vanilla”类库所需的步骤如下
创建或打开一个现有的类库项目(如果你打开一个现有的,请务必删除 MVC5 nuget 包)
添加 MVC (5.0) nuget 包(在解决方案资源管理器中右键单击项目 -> 管理 NuGet 包 -> 搜索 MVC 并安装“Microsoft ASP.NET MVC”)
关闭所有打开的 .cshtml 文件
右键项目 -> 属性 -> 构建 -> 将输出路径更改为“bin/”</p>
将以下最小 Web.config 添加到类库项目的根目录(智能感知仅需要 Web 配置文件。配置(通过 Web.config)应在托管 ClassLibrary 程序集的 WebApplication 中完成)
清理并构建解决方案。
打开.cshtml文件
网络配置:
<?xml version="1.0" encoding="utf-8"?>
<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>
<appSettings>
<add key="webpages:Version" value="3.0.0.0" />
<add key="webpages:Enabled" value="false" />
</appSettings>
<system.web>
<compilation debug="true" targetFramework="4.5" />
</system.web>
<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 other namespaces for views here -->
<!-- e.g. your own project's, Lib.Views.Etc -->
</namespaces>
</pages>
</system.web.webPages.razor>
</configuration>
我也刚刚在博客上写了这个http://thetoeb.wordpress.com/2014/01/05/enabling-mvc5-intellisense-in-a-classlibrary-project/