che sto cercando di tirare l'ultima versione del codice sorgente di TFS di programmazione utilizzando l'SDK, e quello che ho fatto in qualche modo non funziona:Come si ottiene l'ultima versione del codice sorgente utilizzando l'SDK di Team Foundation Server?
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();
}
}
L'approccio è fondamentalmente la creazione di uno spazio di lavoro temporaneo, utilizzando il metodo Get()
per afferrare tutti gli elementi per questo progetto e quindi rimuovere lo spazio di lavoro. È questo il modo corretto per farlo? Qualsiasi esempio sarebbe utile.
Mi scuso per il ritardo nella risposta, come mi sono coinvolti in una questione diversa, ma cambiando neanche il percorso sembrava funzionare. Ho provato a collegare tutti gli eventi e nessuno di loro ha sparato. Ho finito per utilizzare una strategia completamente diversa (item.DownloadFile) e in quel modo sembrava funzionare bene - e non erano necessari spazi di lavoro. –
@JohnRasch, potresti condividere lo snippet di codice in quanto sono colpito dallo stesso problema? !! :( – UserAR