在库项目中获取剃刀智能感知

本文关键字:剃刀 智能 感知 获取 项目 | 更新日期: 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/

步骤如下:

  1. 添加 MVC (5.0) nuget 包(在解决方案资源管理器中右键单击项目>管理 NuGet 包 ->搜索 MVC 并安装"Microsoft ASP.NET MVC")
  2. 关闭所有打开的 .cshtml 文件
  3. 右键单击项目 ->属性 ->
  4. 构建 ->将输出路径更改为"bin/"
  5. 将以下最小 Web.config 添加到类库项目的根目录(Web 配置文件仅用于智能感知。配置(通过 Web.config)应在承载类库程序集的 Web 应用程序中完成)
  6. 清理并生成解决方案。

网络配置:

<?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>