web-dev-qa-db-fra.com

Comment obtenir mes modifications après avoir cliqué sur "Annuler les modifications en attente ..." dans Visual Studio 2013 et TFS

À l'aide de Visual Studio 2013 et de TFS, j'ai effectué beaucoup de travail avant de procéder à l'enregistrement. Puis, j'ai accidentellement cliqué sur Annuler les modifications en attente ... pensant que cela ne s'appliquerait qu'à l'un des projets de ma solution. Malheureusement, il a été appliqué à tous les projets. Comment puis-je récupérer mes modifications?

Cette question a été posée avant link . Une personne a suggéré d'utiliser Reflector pour copier la dll. J'ai téléchargé Reflector, mais je ne sais pas comment l'utiliser. Comment utiliser Reflector pour récupérer mes modifications?.

14
navig8tr

Incroyable! Après avoir abandonné et réécrit tout le code que j'ai perdu, j'ai pu récupérer les fichiers. Après avoir appuyé sur "Annuler les modifications en attente", je n'ai plus jamais construit la solution. Ensuite, j'ai fermé la solution, copié l'intégralité de l'espace de travail et enregistré sous un autre nom. Ensuite, j'ai rouvert la solution d'origine. J'ai ensuite utilisé "Ajouter un élément existant" à partir des emplacements d'origine des fichiers que j'ai perdus. Ensuite, (et voici la partie intéressante), j'ai navigué vers l'espace de travail copié et trouvé les fichiers perdus au contact et dans leur emplacement d'origine. Génial! Je souhaite seulement avoir fait cela avant de réécrire mon code!

Pour moi, cette solution a été trouvée par hasard, mais j'espère que quelqu'un d'autre pourra utiliser cette information à l'avenir. Veuillez noter que je n'ai jamais construit la solution après avoir annulé les modifications, ce qui explique peut-être pourquoi les fichiers étaient toujours à leur emplacement d'origine, mais n'étaient pas visibles dans la solution elle-même. 

11
navig8tr

Juste pour ton aide. Selon les questions de stackoverflow, le lien est partagé. Il essaie de dire cela si vous n'avez pas construit votre projet. Vous pouvez ouvrir la dernière DLL créée dans Reflector et voir le code des fichiers et le récupérer.

Vous pouvez utiliser n'importe quelle prise telle que Reflector ou dotpeek de JetBrains.

Visitez ce lien pour en savoir plus sur dotpeek 

Mais si vous avez construit votre projet après avoir effectué les modifications en attente d'annulation, il est impossible d'obtenir le code, à ma connaissance. 

20
Dnyanesh

Cela m’est arrivé aujourd’hui, mais c’est après que j’ai écrasé les modifications locales avec une version non décomposée. J'ai essayé de décompiler la DLL, mais elle était trop ancienne et n'avait pas les modifications. J'ai finalement trouvé les modifications dans les fichiers de différences temporaires TFS dans "AppData\Local\Temp\TFSTemp". Les fichiers portaient tous des noms tels que "vctmp4316_370233.cs", mais ils étaient tous là et, heureusement, j'ai pu récupérer mes modifications.

Si vous avez des tests unitaires MSTest, vous pouvez également essayer de rechercher des dll dans le dossier "TestResults" de la solution.

La dernière étape consiste à installer une sorte de système de sauvegarde afin que cela ne se reproduise plus.

6
Dave A

J'ai fait quelque chose de similaire où j'ai appuyé sur undo et qui a supprimé des fichiers que je ne voulais pas aussi. Je viens d'appuyer sur l'icône Afficher tous les fichiers dans l'Explorateur de solutions. Cela rend les fichiers visibles et tout ce que je devais faire était un clic droit, puis sélectionnez Inclure dans le projet. 

1
Tony Cimaglia