2015-06-26 17 views
7

quando si crea (debug F5) un nuovo progetto predefinito (applicazione Web) sulla mia macchina VS2103 locale, tutto funziona correttamente.Impossibile trovare il pacchetto localdb nuget

quando provo a costruire lo stesso progetto in Visual Studio Online, ricevo errori di generazione:

Impossibile trovare la versione '2.0.1' di pacchetto 'Microsoft.AspNet.Providers.LocalDB'.

codice di uscita imprevista 1 tornato da strumento NuGet.exe

il file package.config include questa linea:

<package id="Microsoft.AspNet.Providers.LocalDB" version="2.0.1" targetFramework="net40" /> 

quando cambio la versione 2.0.0 per LocalDB nei pacchetti. file di configurazione, la build funziona bene su vso. questa versione è elencata su nuget.org.

vedo anche che sulla macchina locale vs2013 è presente la versione 2.0.1 del pacchetto localdb. tuttavia, nuget.org non elenca questa versione.

come posso ottenere che NuGet includa la versione 2.0.1 più recente? Oppure, come posso ottenere la versione 2.0.1 dalla mia macchina vs2013 locale da includere nella build di vso?

+0

ho controllato la soluzione di vs2013 "Gestisci pacchetti NuGet per soluzione" e mostra che la versione 2.0.1 è installata localmente. non vedo alcun messaggio banner. – desertchief

+0

NuGet memorizza nella cache i pacchetti localmente nell'appData dell'utente, quindi è possibile che venga da lì. Ciò potrebbe accadere solo se a un certo punto v2.0.1 fosse disponibile sul feed NuGet ufficiale o se si stesse utilizzando il proprio feed NuGet. Una rapida ricerca su google dovrebbe dirti come eliminare la cache NuGet –

+0

non ho il mio feed. questo progetto è un progetto di app web vs2013 predefinito da microsoft. (VS2013> File> Nuovo progetto> Modelli> VB> Web> Applicazione Web Form ASP.NET) non sono state apportate modifiche. mi piacerebbe continuare a utilizzare l'ultima versione 2.0.1. – desertchief

risposta

6

Come giustamente fai notare, Microsoft.AspNet.Providers.LocalDB versione 2.0.1 non esiste in NuGet. Se si crea una nuova applicazione in VS2013 e si aggiunge tale riferimento a packages.config, la soluzione verrà comunque creata, ma non riuscirà a scaricare quel pacchetto. Puoi vederlo facendo clic destro sulla soluzione e selezionando "Gestisci pacchetti NuGet ...". Ci sarà un banner in alto che dice che alcune dipendenze non sono riuscite a scaricare.

Se si è certi di aver bisogno di questo pacchetto nella soluzione, la soluzione è modificare il riferimento su 2.0.0.

Aggiornamento

avevo preso uno sguardo più da vicino a questo. In precedenza l'avevo provato con un'app console, ma sembra che tu abbia ragione: quando si crea un progetto Web Form di .NET 4.0, viene aggiunto un riferimento al pacchetto NuGet Microsoft.AspNet.Providers.LocalDB versione 2.0.1. Se si elimina la cartella dei pacchetti (accanto al file della soluzione) e si crea, verrà visualizzato l'errore che ho menzionato sopra poiché NuGet non è in grado di ripristinare il pacchetto. Sto indovinando che c'è un problema con il modello di progetto stesso, o Microsoft ha rimosso la versione 2.0.1 da NuGet pubblico per qualche motivo. Ad ogni modo, la soluzione è sempre la stessa; dipende dalla versione disponibile in NuGet.

+0

Nel mio caso c'erano voci duplicate nel file package.config, quindi ho eseguito il backup e rimosso quello che si riferisce a 2.1. Ricostruisci e risolvi. Grazie per avermi messo sulla strada giusta. –

Problemi correlati