2014-09-12 4 views
6

Dopo aver installato l'estensione SDK SQLite.WP81 su Visual Studio 2013 Update 2, lo SQLite per l'assemblaggio di Windows Phone non compare nella lista delle estensioni nella scheda Windows Phone 8.1.SQLite.WP81 estensione SDK installa sul VS2013 U2, ma in grado di fare riferimento assemblaggio in WP 8.1 progetto

C'è una discussione sullo SQLite for Windows Phone 8.1 download page in the Visual Studio Gallery in cui un altro sviluppatore sembra avere lo stesso problema. Un altro sviluppatore suggerisce di installare manualmente l'estensione, ma ciò non ha fatto alcuna differenza. (E questo consiglio sembra sospetto come appare questa estensione è ora installato in C: \ Program Files (x86) Microsoft SDK \ WindowsPhoneApp \ v8.1 \ \ ExtensionSDKs \ SQLite.WP81 \ 3.8.6)

Sembra che il l'estensione non è riuscita a registrarsi come estensione SDK con Visual Studio.

Chiunque abbia idee su come risolvere questo problema?

EDIT: Le cose hanno avanzato un po '

ho spostato la cartella SQLite.WP81 dalla cartella C: \ Program Files (x86) Microsoft SDK \ WindowsPhoneApp \ v8.1 \ \ ExtensionSDKs \ SQLite.WP81 \ a C: \ Programmi (x86) \ Microsoft SDK \ Windows Phone \ v8.1 \ ExtensionSDKs \ SQLite.WP81 \, ha aggiornato i percorsi in \ SQLite.WP81 \ 3.8.6 \ extension.vsixmanifest e \ SQLite.WP81 \ 3.8.6 \ DesignTime \ CommonConfiguration \ neutral \ SQLite.WP81.props per riflettere la nuova posizione e il pacchetto è apparso.

Questo è strano e grande allo stesso tempo. L'hacking manuale dell'SDK sembra strano. Ma è un progresso.

Ora, il problema è SQLite.WP81 vuole alcuni Microsoft.VCLibs SDK chiamato e che non appare in Gestione risorse. La ricerca sul web è stata finora infruttuosa.

Qualcuno ha la minima idea di dove trovare Microsoft.VCLibs?

risposta

6

C'è qualcosa di rotto tra VS2013 U3 e il mio progetto. Per qualche motivo, dopo aver aggiornato questo progetto a Windows Phone Silverlight 8.1, VS2013 U3 non mostrerà nessuno degli SDK di estensione per Windows Phone 8.1.

Ho utilizzato l'editor XML per includere i seguenti riferimenti al file .csproj del progetto.

<ItemGroup> 
    <SDKReference Include="SQLite.WP81, Version=3.8.6"> 
     <Name>SQLite for Windows Phone 8.1</Name> 
    </SDKReference> 
    </ItemGroup> 
    <ItemGroup> 
    <SDKReference Include="Microsoft.VCLibs, Version=12.0"> 
     <Name>Microsoft Visual C++ 2013 Runtime Package for Windows Phone</Name> 
    </SDKReference> 
    </ItemGroup> 

L'altro problema che impediva il mio progetto di lavorare è stato il mio uso di diversi file sqlite.winmd tra i progetti.L'app dovrebbe essere costruita e distribuita, ma in fase di esecuzione l'app si arresterebbe in modo anomalo. Alcuni messaggi nel registro di debug indicano che SQLite non è registrato. (Scusa, non ho annotato il messaggio effettivo.) Passando attraverso tutti i miei progetti facendo riferimenti identici a sqlite.winmd, finalmente l'app è stata eseguita su WP8.1.

Speriamo che questo impedisca agli altri di perdere qualche giorno.

1

Prova a entrare nel tuo disco e usa la barra di ricerca per cercare l'estensione corretta. Dll prendi la data più recente dei risultati e vedi se funziona.

+0

L'ho provato. È interessante notare che VS2013 non aggiungerà la DLL al progetto. Invece, si lamenta con una finestra di dialogo che afferma: Non è possibile aggiungere al progetto un riferimento a una versione superiore o ad un assemblaggio incompatibile. –

+0

dovresti averne uno in là con la build più recente. forse prova a rimuovere il primo a cui fai riferimento, poi cerca e aggiungi. Dovevo fare la stessa cosa –

+0

Non sei sicuro di cosa intendi. Il progetto non contiene riferimenti agli assembly SQLite in questo momento. Sto navigando direttamente in C: \ Programmi (x86) \ Microsoft SDK \ WindowsPhoneApp \ v8.1 \ ExtensionSDKs \ SQLite.WP81 \ 3.8.6 \ Redist \ Retail \ ARM \ sqlite3.dll file da Aggiungi riferimenti ancora VS2013 lamenta : Non è possibile aggiungere al progetto un riferimento a una versione superiore o assemblaggio incompatibile. –

0

Ok, ecco quello che sono riuscito a fare (ma Im ancora in grado di anche compilare)

ho installato la versione WP 8.0 su SQLite, che sono stato in grado di fare riferimento nel mio progetto WP 8.1. Ho scaricato il progetto, ho aperto il file csproj dove ho cambiato il riferimento WP8.0 a WP8.1. Dopo di che ottengo il corretto sdk, ma VS si lamenta di Microsoft.VCLibs. Sono stato in grado di risolvere che, ancora una volta modificando manualmente il csproj e l'aggiunta di questo frammento:

<ItemGroup> 
    <SDKReference Include="Microsoft.VCLibs, Version=12.0"> 
     <Name>VCLibs</Name> 
    </SDKReference> 
    </ItemGroup> 

Proprio sotto dove il simile frammento di SQLite è. Dopo questo VS non si lamenta più di VCLibs. Ma quando si tenta di usare wrapper sqlite-net, non riconosce lo spazio dei nomi Sqlite, che credo sia un brutto segno.

+0

Sono riuscito ad aggiornare il mio progetto a WP8.1. Sembra che qualcosa non funzioni in VS2013 U3 che ci impedisce di vedere pacchetti 8.1 SDK. La modifica manuale dei file .csproj è l'unico modo, a meno che tu non voglia avviare un nuovo progetto e copiare tutto il contenuto. Aggiornerò la mia domanda iniziale per mostrare cosa ha funzionato per me. –

Problemi correlati