在库项目中获取剃刀智能感知
本文关键字:剃刀 智能 感知 获取 项目 | 更新日期: 2023-09-27 18:32:40
我有一个商业项目,我将根据用剃刀制作的模板创建电子邮件。我怎样才能在那里获得剃刀智能感?是像包含几个程序集一样简单,还是我需要做一些更反驳的事情?
这是为了使用 RazorEngine 库。
您必须编辑 .csproj 文件。添加以下 ProjectTypeGuids 节点(只需在现有 ProjectGuid 节点下面添加它们)。
<ProjectGuid>{28AD1627-3486-48C2-A045-EFFBB441582B}</ProjectGuid>
<ProjectTypeGuids>{E3E379DF-F4C6-4180-9B81-6769533ABE47};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
保存文件,然后使用 Visual Studio 重新打开它。然后VS2012执行一些转换,但最后一切都很好。
根据你正在做什么(Razor Generator?),你将需要一些参考(System.Web,System.Web.WebPages,System.Web.Mvc,System.Web.Razor,System.Web.Routing...)。
这是用VS2012测试的。
在Visual Studio 2013中,我还必须替换.csproj文件中的以下行,因为它指向错误的定位:
<Import Project="$(VSToolsPath)'WebApplications'Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" />
这是实现这一目标的一个很好的指南。
http://thetoeb.de/2014/01/05/enabling-mvc5-intellisense-in-a-classlibrary-project/
步骤如下:
- 添加 MVC (5.0) nuget 包(在解决方案资源管理器中右键单击项目>管理 NuGet 包 ->搜索 MVC 并安装"Microsoft ASP.NET MVC")
- 关闭所有打开的 .cshtml 文件 右键单击项目 ->属性 ->
- 构建 ->将输出路径更改为"bin/"
- 将以下最小 Web.config 添加到类库项目的根目录(Web 配置文件仅用于智能感知。配置(通过 Web.config)应在承载类库程序集的 Web 应用程序中完成)
- 清理并生成解决方案。
网络配置:
<?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>