visual team studio pendiente edicion desbloquear archivo c# visual-studio-2010 tfs

c# - studio - desbloquear archivo team foundation server



conéctese a tfs y descargue los archivos presentes en él VS2010 (1)

Quiero conectarme a TFS y descargar los archivos presentes en él. Estoy usando VS2010 y probé el siguiente código. Pero parece que me equivoqué en alguna parte:

"se requiere una referencia de objeto para el método de campo no estático" para los métodos GetItem () y CopyTo ()

Mi código no está descargando todos los archivos.

C # Code:

static void Main(string[] args) { string teamProjectCollectionUrl = "https://YourTfsUrl/tfs/YourTeamProjectCollection"; string filePath = "C:/project/myfile.cs"; TfsTeamProjectCollection teamProjectCollection = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri(teamProjectCollectionUrl)); VersionControlServer versionControlServer = teamProjectCollection.GetService<VersionControlServer>(); Item item = versionControlServer.GetItem(filePath, VersionSpec.Latest); string fileString = string.Empty; using (Stream stream = item.DownloadFile()) { using (MemoryStream memoryStream = new MemoryStream()) { stream.CopyTo(memoryStream); using (StreamReader streamReader = new StreamReader(new MemoryStream(memoryStream.ToArray()))) { fileString = streamReader.ReadToEnd(); } } } Console.WriteLine(fileString); Console.ReadLine(); }

¿Podría alguien ayudarme a obtener el enfoque adecuado?


Prueba algo como esto ...

static void Main(string[] args) { string teamProjectCollectionUrl = "http://myserver:8080/tfs/DefaultCollection"; string serverPath = "$/My Project/My SubFolder"; string localPath = @"c:/temp/download"; TfsTeamProjectCollection teamProjectCollection = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri(teamProjectCollectionUrl)); VersionControlServer versionControlServer = teamProjectCollection.GetService<VersionControlServer>(); foreach (Item item in versionControlServer.GetItems(serverPath, VersionSpec.Latest, RecursionType.Full, DeletedState.NonDeleted, ItemType.Any, true).Items) { string target = Path.Combine(localPath, item.ServerItem.Substring(2)); if (item.ItemType == ItemType.Folder && !Directory.Exists(target)) { Directory.CreateDirectory(target); } else if (item.ItemType == ItemType.File) { item.DownloadFile(target); } } }