2015-08-20 15 views
10

Sto tentando di passare alle DLL di SDK di TFS 2015 (versione 14) per alcuni motivi. Innanzitutto, sono in nuget e in secondo luogo, le DLL SDK del 2013 (versione 12) richiedono il flag a 32 bit capovolto in IIS.SDK TFS 2015 Manca Microsoft.WITDataStore64.dll

Ho tirato giù nutget package e gli spazi dei nomi si allineano con gli spazi dei nomi di versione 12 esistenti.

Tutto si compila bene e non si sono verificati errori nella distribuzione locale.

Tuttavia, quando si tenta di caricare progetti utilizzando il servizio WorkItemStore.

TfsTeamProjectCollection collection = new TfsTeamProjectCollection(URL); 
var service = collection.GetService<WorkItemStore>(); 

ottengo:

Ulteriori informazioni: Impossibile caricare la DLL 'Microsoft.WITDataStore64.dll': Il modulo specificato non potrebbe essere trovato. (Eccezione da HRESULT: 0x8007007E)

Quando accendo di nuovo sulla bandiera 32 bt in IIS ottengo:

Ulteriori informazioni: Impossibile caricare la DLL 'Microsoft.WITDataStore32.dll': The il modulo specificato non può essere trovato . (Eccezione da HRESULT: 0x8007007E)

Nota: questo era tutto il codice funzionante, tutto ciò che ho fatto è stato rimuovere i riferimenti agli assembly GAC e aggiungere il pacchetto NUGET.

Secondo Microsoft, il pacchetto NuGet dovrebbe funzionare con TFS 2013 e lavorare per gli utenti per il 2013 SDK

esistente Windows applicazioni sfruttando una vecchia versione del client TFS OM.

+1

Rinominare il WITDataStore.dll dal GAC 64 bit a WITDataStore64.dll e la copia nel cestino funziona. –

+0

Si potrebbe voler controllare se la proprietà 'Copia locale' dell'assembly referenziato è impostata su:' False', se lo è, impostarlo su 'Sempre'. In questo modo verrà copiato nella directory di output al momento della creazione del progetto. – Stefan

+0

Non è un assembly di riferimento e non lo era prima. Ottengo un errore quando provo a fare riferimento direttamente. –

risposta

-1

Provate a copiare quelle DLL dal GAC nel vostro cestino locale. I pacchetti Nuget di solito creano riferimenti al contenitore, quindi se il tuo programma sta guardando lì invece del GAC, potrebbe essere il motivo per cui sta generando l'errore.

+1

Queste DLL sono DLL native e non possono essere inserite nel GAC. Quindi non ci sono tali DLL nel GAC. –

3

Nessuno dei precedenti ha funzionato per me. Ho dovuto copiare quel file nella cartella C: \ Programmi (x86) \ Microsoft Visual Studio 14.0 \ Common7 \ IDE (lo abbiamo scoperto usando procmon per vedere dove la mia app lo stava cercando).

+0

Ho copiato la dll da IDE \ ReferenceAssemblies \ v2.0 a IDE, il problema è scomparso. – gTiancai

1

Ho dovuto aggiungere la DLL al progetto di avvio della mia soluzione per farlo funzionare. esempio:

MyTFSApp (client Windows) NuGet pacchetto Microsoft.TeamFoundationServer.ExtendedClient installato o Microsoft.WITDataStore32.dll aggiunti alla cartella bin

MyTfsLibrary (libreria di classi con il codice di accesso WorkItemStore) pacchetto nuget Microsoft.TeamFoundationServer.ExtendedClient installato