2015-08-20 8 views
10

Ich versuche aus verschiedenen Gründen auf die TFS 2015 SDK DLLs (Version 14) zu wechseln. Erstens sind sie in nugget und zweitens erfordern die 2013 SDK dlls (Version 12) das 32-Bit-Flag in IIS.TFS 2015 SDK fehlt Microsoft.WITDataStore64.dll

Ich zog nutget package herunter und die Namespaces alle zusammen mit den vorhandenen Namespaces der Version 12.

Alles ist gut kompiliert und es gab keinen Fehler bei der lokalen Bereitstellung.

Allerdings, wenn ich versuche, Projekte mit dem WorkItemStore Service zu laden.

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

ich:

Weitere Informationen: Kann DLL 'Microsoft.WITDataStore64.dll' laden: Das angegebene Modul wurde nicht gefunden werden konnte. (Ausnahme von HRESULT: 0x8007007E)

Wenn ich wechseln wieder auf die 32 bt Flagge in IIS ich:

Weitere Informationen: Kann DLL 'Microsoft.WITDataStore32.dll' laden: Die spezifiziertes Modul konnte nicht gefunden werden. (Ausnahme von HRESULT: 0x8007007E)

Hinweis: Das war alles funktionierenden Code, alles, was ich tat, war die Verweise auf die GAC-Baugruppen entfernen und das NuGet Paket hinzufügen.

Nach Microsoft, die nuget Paket sollte mit TFS 2013 arbeiten und für Benutzer für das Jahr 2013 SDK arbeiten

Bestehende Windows-Anwendungen nutzt eine ältere Version des TFS-Client OM.

+1

Umbenennung des WITDataStore.dll von der 64bit GAC zu WITDataStore64.dll und kopieren Sie es in den Papierkorb funktioniert. –

+0

Sie können überprüfen, ob die Eigenschaft 'Copy Local' der referenzierten Assembly auf' 'False' 'gesetzt ist, wenn dies der Fall ist, setzen Sie sie auf' Always'. Auf diese Weise wird es beim Erstellen des Projekts in das Ausgabeverzeichnis kopiert. – Stefan

+0

Es ist keine referenzierte Assembly und es war vorher nicht. Ich erhalte einen Fehler, wenn ich versuche, direkt darauf zu verweisen. –

Antwort

-1

Versuchen Sie, diese Dlls vom GAC in Ihre lokale Bin zu kopieren. Nuget-Pakete erstellen normalerweise Verweise auf das Bin. Wenn also Ihr Programm dort statt des GAC sucht, könnte dies den Grund für den Fehler sein.

+1

Diese DLLs sind native DLLs und können nicht in den GAC platziert werden. Also gibt es keine solchen DLLs in der GAC. –

3

Keiner der oben genannten funktionierte für mich. Ich musste diese Datei in meinen Ordner C: \ Programme (x86) \ Microsoft Visual Studio 14.0 \ Common7 \ IDE kopieren (fand dies heraus, indem ich procmon verwendete, um zu sehen, wo meine App danach suchte).

+0

Ich kopierte die DLL von IDE \ ReferenceAssemblies \ v2.0 zu IDE, das Problem ist weg. – gTiancai

1

Ich musste die Dll zum Startup-Projekt meiner Lösung hinzufügen, um dies zum Laufen zu bringen. Beispiel:

MyTFSApp (Windows-Client) nuget Paket Microsoft.TeamFoundationServer.ExtendedClient installiert oder Microsoft.WITDataStore32.dll zum Binärordner

MyTfsLibrary (Klassenbibliothek mit Code Zugriff auf WorkItemStor hinzugefügt) nuget-Paket Microsoft.TeamFoundationServer.ExtendedClient installiert