Como recuperar meu código-fonte?

2

após uma falha no sistema, um dos meus arquivos .cs se perde.
O tamanho do arquivo é 18 KB,
quando eu tentei abri-lo no VS2010, o vs2010 auto o abre no bloco de notas, mas o conteúdo está vazio.
Eu tentei abri-lo no NotePad ++, o conteúdo se transforma em cachos de bloco preto com a palavra "NULL" nele.
Eu tentei "salvar como" em UTF8, mas o arquivo está vazio como o mesmo.

Como recuperar esse arquivo .cs perdido? : (

    
por Albert Gao 24.06.2012 / 11:39

6 respostas

4

Tente usar qualquer ferramenta de recuperação (não é importante que seja um arquivo cs).

e você tem que usar o controle de subversão externo na próxima vez.

Estou usando o xp-dev.com . Tem plano livre. Tente o google e você vai descobrir mais serviços como este.

EDIT: mencionou o código decompile - é uma boa ideia. Tente usar o ILSpy - ferramenta de código aberto.

    
por 24.06.2012 / 11:45
1

Alguma vez você compilou, então você tem um arquivo .dll / .exe com a classe compilada nele? Se assim for, então você pode usar um descompilador como dotPeek do JetBrains , ou o Reflector do RedGate para descompilar o arquivo e obter o arquivo. cs código de volta.

Você ficará surpreso com a preservação do código-fonte. Às vezes, descubro que o código compilado com > decompilação é melhor do que o código anterior à compilação ...

Lembre-se de usar o controle de versão e os backups, parece que há algo errado com o seu disco.

    
por 24.06.2012 / 11:47
1

Eu tive exatamente o mesmo problema ontem:)

Além disso, minha unidade foi criptografada e, quando abri o arquivo com o Notepad ++, tudo foi preenchido com NULL s. O problema é que, se sua unidade é criptografada, não há nenhuma maneira de recuperar os dados (além de ler o código IL e convertê-lo de volta para C # da biblioteca compilada). Mas, felizmente, tudo que eu precisava fazer era verificar a versão original do hub do git.

Espero que você tenha usado o controle de origem. Se você não fez, bem, isso seria uma boa lição.

    
por 24.06.2012 / 11:55
1

Isso ocorre porque a operação delete ocorreu no arquivo e o código ou os dados em seu arquivo são interrompidos no estágio intermediário. Não é comprometido com a fonte segura ou retida. Tente obter uma versão mais antiga e você terá que escrever o código novamente.

Isso acontece às vezes, mesmo que o disco rígido não esteja com falha

    
por 09.09.2012 / 19:59
0

você tem o seu arquivo exe do programa? O .NET Reflector v6 fornece suporte para assemblies do .NET Framework 4.0. Faça o download de aqui .

    
por 24.06.2012 / 11:48
0

Aqui estão alguns passos que você pode fazer

  • tente recuperar os arquivos "fisicamente" por meio da ferramenta gratuita Recuva .

  • tente recuperá-los da pasta de arquivos temporários no diretório de usuários e arquivos do Windows

  • Tente olhar para dentro do Cache de Montagem e desmonte de volta sua aplicação para C # via ILSpy

por 24.09.2012 / 23:21