Ich bin versucht, die neueste Version des Quellcodes von TFS programmatisch mit dem SDK zu ziehen, und was ich arbeitet irgendwie klappt nicht getan:Wie erhalten Sie die neueste Version des Quellcodes mit dem Team Foundation Server SDK?
string workspaceName = "MyWorkspace";
string projectPath = "/TestApp";
string workingDirectory = "C:\Projects\Test\TestApp";
VersionControlServer sourceControl; // actually instantiated before this method...
Workspace[] workspaces = sourceControl.QueryWorkspaces(workspaceName, sourceControl.AuthenticatedUser, Workstation.Current.Name);
if (workspaces.Length > 0)
{
sourceControl.DeleteWorkspace(workspaceName, sourceControl.AuthenticatedUser);
}
Workspace workspace = sourceControl.CreateWorkspace(workspaceName, sourceControl.AuthenticatedUser, "Temporary Workspace");
try
{
workspace.Map(projectPath, workingDirectory);
GetRequest request = new GetRequest(new ItemSpec(projectPath, RecursionType.Full), VersionSpec.Latest);
GetStatus status = workspace.Get(request, GetOptions.GetAll | GetOptions.Overwrite); // this line doesn't do anything - no failures or errors
}
finally
{
if (workspace != null)
{
workspace.Delete();
}
}
Der Ansatz ist im Grunde einen temporären Arbeitsbereich erstellen, indem die Get()
Methode, alle Elemente für dieses Projekt zu greifen und dann den Arbeitsbereich zu entfernen. Ist das der richtige Weg? Jedes Beispiel wäre hilfreich.
ich für die Verzögerung in der Antwort entschuldigen, wie ich in einem anderen Problem gefangen wurde, aber zu ändern der Weg schien auch nicht zu funktionieren. Ich habe versucht, alle Ereignisse zu verkabeln, und keiner von ihnen hat gefeuert. Ich habe letztendlich eine andere Strategie verwendet (item.DownloadFile) und dieser Weg schien gut zu funktionieren - und keine Arbeitsbereiche waren notwendig. –
@JohnRasch, Könnten Sie bitte das Code-Snippet teilen, da ich das gleiche Problem habe? !! :( – UserAR