使用Visual Studio 2013和TFS我在签入之前做了很多工作。然后我不小心点击撤消挂起的更改...认为它只适用于我的解决方案中的一个项目。不幸的是,它适用于所有项目。我怎样才能得到我的更改?
link之前已经提出了这个问题。一个人建议使用Reflector复制dll。我下载了Reflector,但我不确定如何使用它。我如何使用Reflector来恢复我的更改。
答案 0 :(得分:22)
只是为了你的帮助。根据stackoverflow的问题链接共享。他试图说,如果你还没有建立你的项目。您可以在Reflector中打开最后构建的dll,并查看文件的代码并恢复代码。
您可以使用JetBrains中的Reflector或dotpeek。
访问此link以了解有关dotpeek的更多信息
但是如果您在执行Undo Pending更改后构建项目,那么据我所知,无法获取代码。
答案 1 :(得分:11)
难以置信!在放弃并重写我丢失的所有代码后,我能够恢复文件。按下“撤消挂起的更改”后,我再也没有构建解决方案。然后,我关闭了解决方案,复制了整个工作区并以不同的名称保存。接下来,我重新打开了原始解决方案。然后,我从丢失的文件的原始位置使用“添加现有项目”。然后,(这里是很酷的部分)我导航到复制的工作区,找到丢失的文件,并在原始位置。大!在重写我的代码之前,我只希望我这样做!
对我来说,这个解决方案纯粹是偶然发现的,但我希望其他人可以在将来使用这些信息。请注意,我在解除更改之后从未构建解决方案,这可能是文件仍然位于其原始位置但在解决方案本身中不可见的原因。
答案 2 :(得分:7)
今天发生在我身上,但是在我用一个未经证实的版本覆盖了本地更改之后。我尝试反编译dll,但它太旧了,没有更改。我终于在“AppData \ Local \ Temp \ TFSTemp”中找到了TFS临时diff文件的更改。这些文件都有像“vctmp4316_370233.cs”这样的名字,但它们都存在,谢天谢地我能够恢复我的更改。
如果你有MSTest单元测试,你可以尝试的另一件事是在解决方案“TestResults”文件夹中寻找dll。
最后一步是设置某种备份系统,这样就不会再发生了。
答案 3 :(得分:1)
在执行undo时,我做了类似的操作,它删除了我不想要的文件。我只是在解决方案资源管理器中单击了“显示所有文件”图标。它使文件可见,然后我要做的就是右键单击,然后选择“包含在项目中”。
答案 4 :(得分:0)
今天发生在我身上。就我而言,我正在处理现有的打字稿文件。 幸运的是,该站点已加载到我的浏览器选项卡中,而我没有刷新页面。所以我能够从 chrome 的开发工具 - 源代码中复制代码。
在接触到这个问题后我有了这个想法,如果有人发现它有用,请分享。