簡體   English   中英

在圖書館項目中獲取razor intellisense?

[英]Get razor intellisense in library project?

我有一個商業項目,我將根據用剃刀制作的模板創建電子郵件。 我怎樣才能獲得剃刀智能感知? 它是否像包含一些組件一樣簡單,或者我需要做一些更多反駁的事情?

這是為了使用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文件中的以下行,因為它指向錯誤的loaction:

<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. 右鍵單擊項目 - >屬性 - >構建 - >將輸出路徑更改為“bin /”
  4. 將以下最小的Web.config添加到類庫項目的根目錄(智能感知僅需要Web配置文件。配置(通過Web.config)應在托管ClassLibrary程序集的WebApplication中完成)
  5. 清理並構建解決方案。

Web.config文件:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM