Pergunta

Existem bons programas lá fora, para comparar a compilação NET assembléias?

Por exemplo, eu tenho helloworld.dll (1.0.0.0) e helloworld.dll (2.0.0.0), e eu quero comparar as diferenças como posso fazer isso?

Eu sei que posso usar .NET Reflector e usar o plugin Assembléia Diff. Existem outras ferramentas boas lá fora para fazer isso?

Foi útil?

Outras dicas

Duas maneiras.

Você poderia ILDASM e diff com ferramentas clássicas.

Ou você poderia usar NDepends, que vai custar para esse recurso.

[Peça para C # arenques defumados ..]

Eu só tinha que comparar duas revisões do mesmo DLL, que tinha a mesma versão (I necessário para implementar uma pequena correcção, e implantar a DLL na produção, mas eu queria ter certeza de que nenhuma outra alteração vazou em código) . Idealmente, eu gostaria que o Assemby Diff add-in para me mostrar a diferença, mas ele não funciona (ele pensa que eu estou comparando uma DLL para si). Então é isso que eu fiz:

  • Criado duas pastas para armazenar arquivos de origem desmontado.
  • Usado o Refletor 's Exportar opção (no menu de contexto) para gerar arquivos de origem de cada DLL nas pastas criadas na etapa anterior.
  • Usado a livre DiffMerge ferramenta para comparar dois diretórios; as ferramentas me mostrou os arquivos modificados e a diferença.

É um pouco kludgy, mas parece funcionar. Desejo a Assembléia Diff add-in funcionou, apesar de tudo.

UPDATE: A versão mais recente do Diff Assembléia add-in é suposto para corrigir o problema de comparar duas versões do mesmo conjunto. Experimentá-lo.

A ferramenta NDepend oferece muitos recursos para diff código .NET alça. Disclaimer: Eu sou um dos que o desenvolvedor da ferramenta .

O painel de Busca por Mudança é dedicado aos conjuntos de navegação diff código. Observe que:

  • Você pode ligar para NDepend qualquer ferramenta de comparação de código usado pelo menu de Comparar versão mais antiga e mais recente do arquivo de origem
  • Se você não tem o código-fonte, apenas as montagens matérias, há a opção Comparar versão mais antiga e mais recente desmontado com refletor

NDepend Pesquisa por Painel Diff

Observe também na imagem que um CQLinq consulta código é gerado para navegar na diff .

from m in Application.Methods 
where m.CodeWasChanged() 
select new { m, m.NbLinesOfCode }

Muitos outros consultas de comparação por defeito e as regras são propostos por padrão, que permitirá que você navegue .NET diff código de uma maneira inteligente.

Mais uma opção é LibCheck da Microsoft.

Pretty ferramenta de console velho para apenas começando diff API pública. Eu não poderia funcionar sem depuração e redirecionamento para uma versão mais recente .net. No entanto, ele me deu saída muito claro e eu vou usá-lo mais tarde.

Aqui está um artigo com screenshots .

Java tem uma agradável: Semântica Diff Utilities

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top