2012-04-28 40 views
8

Tôi có một dự án kinh doanh nơi tôi sẽ tạo email dựa trên các mẫu được tạo bằng dao cạo. Làm thế nào tôi có thể nhận được intellisense dao cạo ở đó? Nó đơn giản như bao gồm một vài hội đồng hay tôi cần phải làm một cái gì đó nhiều hơn vặn lại?Nhận intellisense dao cạo trong dự án thư viện?

Điều này là để sử dụng thư viện RazorEngine.

Trả lời

3

Bạn phải chỉnh sửa tệp .csproj của mình. Thêm sau đây ProjectTypeGuids nút (chỉ cần thêm dưới đây chúng dưới đây hiện tại ProjectGuid nút).

<ProjectGuid>{28AD1627-3486-48C2-A045-EFFBB441582B}</ProjectGuid> 
<ProjectTypeGuids>{E3E379DF-F4C6-4180-9B81-6769533ABE47};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids> 

Lưu tệp, sau đó mở lại bằng Visual Studio. VS2012 sau đó thực hiện một số chuyển đổi, nhưng cuối cùng mọi thứ đều ổn. Dụng cụ là có.

Tùy thuộc vào những gì bạn đang làm (Dao cạo Máy phát điện?), Bạn sẽ cần một số tham chiếu (System.Web, System.Web.WebPages, System.Web.Mvc, System.Web.Razor, System.Web.Routing ...).

Điều này đã được thử nghiệm với VS2012.

Trong Visual Studio 2013 tôi cũng đã để thay thế dòng sau trong file csproj vì nó chỉ vào một loaction sai:

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

Đây là một hướng dẫn tốt đẹp để đạt được điều này.

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

Các bước thực hiện:

  1. Thêm MVC (5.0) gói NuGet (dự án click chuột phải trong solution explorer -> Manage NuGet Packages -> tìm kiếm MVC và cài đặt “Microsoft ASP. NET MVC”)
  2. Đóng bất kỳ và tất cả các mở .cshtml file
  3. dự án nhấp chuột phải -> Properties -> Build - path> thay đổi Output để‘bin /’
  4. . Thêm Web.config tối thiểu sau vào thư mục gốc của dự án thư viện lớp của bạn (tệp cấu hình web là chỉ cần thiết cho intellisense. Cấu hình (thông qua Web.config) nên được thực hiện trong WebApplication lưu trữ hội đồng ClassLibrary của bạn)
  5. Làm sạch và xây dựng giải pháp.

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> 
Các vấn đề liên quan