2012-04-28 49 views

回答

3

你必須編輯你的.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然後執行一些轉換,但最後一切都正常。工具就在那裏。你需要一些引用(System.Web,System.Web.WebPages,System.Web.Mvc,System.Web.Razor,System.Web.Routing ...),你需要一些引用(Razor Generator? )。

這是用VS2012測試的。

在Visual Studio 2013,我不得不同時更換下面一行在.csproj的文件,因爲它指出了一個錯誤的位置:

<Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" /> 
2

這是一個很好的引導實現這一目標。

http://thetoeb.de/2014/01/05/enabling-mvc5-intellisense-in-a-classlibrary-project/

的步驟是:

  1. 添加MVC(5.0)NuGet包(右鍵單擊項目在解決方案資源管理器 - >管理的NuGet軟件包 - >搜索MVC和安裝「微軟ASP。 NET MVC」)
  2. 關閉任何和所有打開的文件.cshtml
  3. 右鍵項目 - >屬性 - >建設 - >改變輸出路徑‘斌/’
  4. 將以下最小的Web.config添加到類庫項目的根目錄(web配置文件僅用於intellisense。配置(通過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>