2016-10-03 3 views
1

Ich habe dieses nuget Paket erhielt (und die nicht verlängerten eins): https://www.nuget.org/packages/Microsoft.TeamFoundationServer.ExtendedClient/Microsoft.TeamFoundation.VersionControl.Client Standort?

Welche ich Verweise auf als Ersatz für Microsoft.TeamFoundation.VersionControl.Client.dll sehen. Leider versuche ich auf den Namespace Microsoft.TeamFoundation.VersionControl zuzugreifen, und es scheint nicht zu existieren. Ich sehe Einträge für Git und SourceControl, aber VersionControl wirft ein "Der Typ oder Namespace-Name 'VersionsControl' existiert nicht im Namespace 'Microsoft.TeamFoundation' (fehlt Ihnen eine Assembly-Referenz?)" Und Intellisense schlägt nichts vor else for Using Anweisungen zu VersionControlServer und so weiter.

Ich beabsichtige, einen Automatisierungsserver einen Arbeitsbereich herunterzuziehen, einige Dateien zu manipulieren und in einen neuen Arbeitsbereich zu laden, wobei TFVC mit einem Zugriffstoken verwendet wird. Ich habe den Rest der Logik ausgearbeitet und geschrieben, aber die "fehlende" Referenz verursacht nur Probleme.

Ich sehe wirklich keine Dokumentation darüber, wohin es gegangen sein könnte. Irgendwelche Ideen?

+0

Können Sie Ihren Code teilen? –

Antwort

0

Getestet ein neues Projekt pro Fredy Treboux Vorschlag und es funktionierte es.

An diesem Punkt habe ich alle TFS und VS Services-Pakete vollständig deinstalliert und sichergestellt, dass alle Dateien für sie gelöscht und dann neu installiert wurden. Scheint es behoben zu haben, alle Referenzen ziehen jetzt ohne Fehler durch.

1

Wenn ich Sie richtig erkannt habe: Laden Sie einfach das Nugget-Paket in ein neues leeres Projekt. Du wirst sehen, dass der Namensraum da ist. , wie vielleicht zum Beispiel Referenz enthalten einen Teil des einen versucht man Ihnen den Namespace Abschattung durch einen eigenen Namensraum, Sie haben vielleicht:

namespace My.Microsoft.TeamFoundation.VersionControl 
{ 
    // ... your code ... 
} 

In diesem Fall können Sie Ihren Namespace-Namen ändern sollten, oder die Nutzung "global ::" (https://msdn.microsoft.com/en-us/library/c3ay4x3d.aspx).

+0

Ich habe es einfach überprüft und ich sehe keine passenden Namespaces in meinem Code, aber es könnte möglicherweise etwas in meinen Referenzen borked verursacht eine Kollision. Ich werde morgen früh das neue Projekt und die globalen Optionen ausprobieren. – user1874135

1

Es befindet sich im Microsoft.TeamFoundation.VersionControl.Client-Namespace. Ich habe diese nuget Pakete installiert:

Microsoft.TeamFoundationServer.Client 
Microsoft.TeamFoundationServer.ExtendedClient 

Beide Version 14.102.0

1

Es ist nicht Microsoft.TeamFoundation.VersionControl Namespace, auch gibt es nicht VersionControl Klasse, die VersionControlServer ist in Microsoft.TeamFoundation. Namespace von VersionControl.Client.

Der einfache Beispielarbeitsbereich zu erstellen und eine Datei hinzufügen und Check-in:

NetworkCredential cred = new NetworkCredential("[account name]", "[person access token]"); 
      TfsTeamProjectCollection tpc = new TfsTeamProjectCollection(new Uri("https://[xxx].visualstudio.com"), cred); 
      tpc.EnsureAuthenticated(); 
      VersionControlServer versionControl = tpc.GetService<VersionControlServer>(); 
Workspace workspace = versionControl.CreateWorkspace("TestWorkspace", versionControl.AuthorizedUser); 
try 
      { 
       String localDir = @"c:\temp\BasicSccExample"; 
       //Console.WriteLine("\r\n--- Create a mapping: {0} -> {1}", args[1], localDir); 
       workspace.Map("$/Agile2015/APIFolder", localDir); 


       workspace.Get(); 

       Console.WriteLine("\r\n--- Create a file."); 
       topDir = Path.Combine(workspace.Folders[0].LocalItem, "sub"); 
       Directory.CreateDirectory(topDir); 
       String fileName = Path.Combine(topDir, "basic.txt"); 
       using (StreamWriter sw = new StreamWriter(fileName)) 
       { 
        sw.WriteLine("revision 1 of basic.txt"); 
       } 

       Console.WriteLine("\r\n--- Now add everything.\r\n"); 
       workspace.PendAdd(topDir, true); 

       Console.WriteLine("\r\n--- Show our pending changes.\r\n"); 
       PendingChange[] pendingChanges = workspace.GetPendingChanges(); 
       Console.WriteLine(" Your current pending changes:"); 
       foreach (PendingChange pendingChange in pendingChanges) 
       { 
        Console.WriteLine(" path: " + pendingChange.LocalItem + 
             ", change: " + PendingChange.GetLocalizedStringForChangeType(pendingChange.ChangeType)); 
       } 

       Console.WriteLine("\r\n--- Checkin the items we added.\r\n"); 
       int changesetNumber = workspace.CheckIn(pendingChanges, "Sample changes"); 
       } 
+0

Ich kann nicht auf Microsoft.TeamFoundation.VersionControl.Client zugreifen, da ich nicht auf Microsoft.TeamFoundation.VersionControl zugreifen kann - meine Using-Anweisung ist für Client, aber der Fehler wird ausgelöst, dass VersionControl nicht im Namespace Microsoft.TeamFoundation existiert. daher der Wortlaut in der Frage. Danke, aber es ist eine gute Bestätigung, dass ich den Rest richtig eingerichtet habe :) – user1874135

+0

@ user1874135 Klicken Sie auf Verweise, um Verweise nach der Installation des Microsoft.TeamFoundationServer.ExtendedClient-Pakets zu erweitern, und prüfen Sie, ob Microsoft.TeamFoundation.VersionControl vorhanden ist.Client-Referenz, falls nicht, installieren Sie das ExtendedClient-Paket neu oder erstellen Sie eine neue Anwendung und installieren Sie das Paket. –