2012-04-28 14 views
8

मेरे पास एक व्यवसाय प्रोजेक्ट है जहां मैं रेजर से बने टेम्पलेट्स के आधार पर ईमेल बनाउंगा। मैं वहां रेजर इंटेलिजेंस कैसे प्राप्त कर सकता हूं? क्या यह कुछ असेंबली समेत सरल है या क्या मुझे कुछ और करने की आवश्यकता है?पुस्तकालय परियोजना में रेज़र इंटेलिजेंस प्राप्त करें?

यह RazorEngine लाइब्रेरी का उपयोग करने के लिए है।

उत्तर

3

आपको अपना संपादित करना होगा .csproj फ़ाइल। निम्नलिखित ProjectTypeGuids नोड जोड़ें (केवल उन्हें मौजूदा प्रोजेक्टगुइड नोड) को जोड़ दें।

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

फ़ाइल सहेजें, फिर इसे विजुअल स्टूडियो के साथ फिर से खोलें। VS2012 फिर कुछ रूपांतरण करता है, लेकिन अंत में सबकुछ ठीक है। टूलिंग है।

आप जो कर रहे हैं उसके आधार पर (रेजर जनरेटर?) आपको कुछ संदर्भों (System.Web, System.Web.WebPages, System.Web.Mvc, System.Web.Razor, System.Web.Routing ...)।

यह वीएस2012 के साथ परीक्षण किया गया था।

विजुअल स्टूडियो 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 पैकेज (राइट क्लिक परियोजना जोड़ें - MVC के लिए> खोज और स्थापित "माइक्रोसॉफ्ट एएसपी -> NuGet पैकेज का प्रबंधन करें। नेट MVC ")
  2. किसी भी बंद कर दें और सभी फ़ाइलों .cshtml खोलने
  3. राइट क्लिक करें परियोजना -> गुण -> बिल्ड -> परिवर्तन आउटपुट पथ के लिए" बिन/"
  4. अपनी कक्षा लाइब्रेरी प्रोजेक्ट की रूट पर निम्न न्यूनतम Web.config जोड़ें (वेब ​​कॉन्फ़िगरेशन फ़ाइल पूरी तरह से इंटेलिजेंस के लिए आवश्यक है। कॉन्फ़िगरेशन (Web.config के माध्यम से) 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> 
संबंधित मुद्दे