19

Come posso creare un progetto che utilizza WebApi2 in Visual Studio 2012?WebApi2 in visual studio 2012

Devo creare con un progetto vuoto o devo creare un progetto MVC?

Non voglio installare l'anteprima di Visual Studio 2013, per favore aiuto.

risposta

6

Creare un progetto MVC, tasto destro del mouse e selezionare

  1. Creare un progetto MVC
  2. Fare clic destro del progetto in Esplora soluzioni e selezionare "Gestione pacchetti Nuget"
  3. Selezionare "includono Prerelease"
  4. ricerca per il web api e selezionare "Web API di Microsoft ASP.NET", assicurarsi che la versione è 5.0.0-beta2 (Prerelease)

Aspetta, dopo un po 'dovresti essere pronto.

+0

+1. Sembra che ci sia un aggiornamento permanente del pacchetto NUGET per Web API 5.1 ora (non beta) che corregge questo problema per Visual Studio 2012. Basta fare i passaggi di aggiornamento del pacchetto nuget sopra sui pacchetti API Web e dovrebbe funzionare. –

6

Per quanto ne so, Web API 2 è uguale alla 5.0.0-beta2, quindi è sufficiente estrarlo da NuGet come descritto da Olav.

Tuttavia, se è stato installato l'aggiornamento VS2012.2, è possibile iniziare con un modello di API Web, non solo con un modello MVC. Avvia un nuovo progetto, seleziona MVC e quindi seleziona il modello di API Web. Non aggiungerà molto, solo alcuni controller di esempio e alcuni file di configurazione personalizzati per le API Web.

Per specifiche caratteristiche di VS2013 come quelle mostrate in alcuni video di Build: temo che sia necessario l'anteprima 2013 per utilizzarle.

+0

Ha funzionato, grazie. – user2070369

3

La mia ricerca iniziale mi ha portato a seguire l'approccio di configurazione manuale di cui sopra, quindi non ho mai provato il suggerimento di Olav. Se funziona, probabilmente è la strada da percorrere. Ma se no, o se ci sono pezzi mancanti per questo approccio, ecco i passaggi che ho preso. Sto utilizzando VS 2012 Aggiornamento 3.

  • Inizia con un nuovo progetto di MVC API 4/Web
  • Dalla console gestore di pacchetti, eseguire:

    Install-Package Microsoft.AspNet.WebApi -pre

I ricevuto un avviso che stava saltando _ViewStart.cshtml ma mi ha dato la possibilità di sovrascrivere. Ho scelto Sì.

  • Anche in questo caso dalla console gestore di pacchetti, eseguire:

    Install-Package Microsoft.AspNet.Mvc -Pre

  • Change web.config, vista \ web.config, e le zone \ vista \ web.config in base alle these instructions. Ignora i passaggi 1 - 5 in Passaggi di aggiornamento. Inoltre, non avevo bisogno di fare nulla riguardo a WebHelpers.

  • Aggiungere riferimenti a System.Web.Http 5.0 a web.config in base al passaggio 2 di this answer.
  • Se si crea a questo punto, verrà visualizzato un errore del compilatore che indica che XmlDocumentationProvider nella cartella Aree \ HelpPage non implementa completamente l'interfaccia. Non so di cosa si tratta, ma a questo punto non è importante per me, quindi ho solo aggiunto le implementazioni vuote ai due metodi mancanti (suggerimento: fare clic con il tasto destro su IDocumentationProvider e selezionare l'interfaccia dell'attrezzo - aggiungerà i due metodi mancanti).

Ho fatto questo un paio di giorni fa e la mia memoria si sta già confondendo, ma penso che lo copra. A questo punto sono in grado di utilizzare WebAPI2 incluso il routing basato su attributi!

30
+2

Questi collegamenti portano al programma di installazione della piattaforma Web che sembra non avere più ASP.NET e Web Tools 2013.1 per il programma di installazione di Visual Studio 2012. Il programma di installazione di ASP.NET e Web Tools 2013.2 è disponibile tramite il PI Web, ma non sembra aggiungere i modelli di Web API 2. Sono stato in grado di trovare gli installer 2012.1 qui https://www.microsoft.com/en-us/download/details.aspx?id=41532 –

+0

@RyanTaylor il tuo commento è perfetto. Dovrebbe essere una risposta! – seebiscuit

+0

@RyanTaylor ha installato WT2013.1 ma non vedo Modelli nella finestra di dialogo Aggiungi un nuovo progetto. Qualche consiglio? – seebiscuit

1

Vista aperta e selezionare package manager console e incollare seguente comando e premere invio.

Install-Package Microsoft.AspNet.WebApi 

Package manger console verrà visualizzato in fondo.

enter image description here