2012-04-28 14 views

risposta

3

È necessario modificare il file .csproj. Aggiungi il seguente nodo ProjectTypeGuids (aggiungi solo sotto a loro il nodo esistente 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> 

Salvare il file, quindi riaprirlo con Visual Studio. VS2012 esegue quindi alcune conversioni, ma alla fine tutto è OK. La lavorazione con utensili è lì.

A seconda di ciò che si sta facendo (Razor Generator?) Sono necessari alcuni riferimenti (System.Web, System.Web.WebPages, System.Web.Mvc, System.Web.Razor, System.Web.Routing ...).

Questo è stato testato con VS2012.

In Visual Studio 2013 ho dovuto sostituire anche la seguente riga nel file Csproj perché indicò un minut sbagliato:

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

Questa è una bella guida per raggiungere questo obiettivo.

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

I passi sono:

  1. Aggiungere il MVC (5.0) package NuGet (progetto tasto destro del mouse in Esplora soluzioni -> gestire i pacchetti Nuget -> ricerca di MVC e installare “Microsoft ASP. NET MVC”)
  2. Chiudere ogni e qualsiasi aprire i file .cshtml
  3. destro progetto click -> Proprietà -> Build - percorso> cambiare l'uscita di‘bin /’
  4. Aggiungere il seguente Web.config minimo alla radice del progetto della libreria di classi (il file di configurazione Web è necessario esclusivamente per intellisense. La configurazione (tramite Web.config) deve essere eseguita nella WebApplication che ospita l'assembly ClassLibrary)
  5. Pulire e creare la soluzione.

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> 
Problemi correlati