Meilleur décompilateur (gratuit?) Pour C # avec intégration Visual Studio?

Dans mon développement Java, le décompilateur Jad / JadClipse a été très utile . Cela a permis de savoir pourquoi une bibliothèque tierce avait échoué plutôt que de deviner.

Je recherche une configuration similaire pour C # et Visual Studio. C’est-à-dire une configuration dans laquelle je peux pointer sur une classe ou une variable de mon code et obtenir une vue de code pour cette classe particulière.

Quelle est la meilleure configuration pour cela? Je veux pouvoir utiliser l’habituel “saut à la déclaration / implémentation” que j’utilise pour naviguer dans mon propre code. Il n’est pas nécessaire que ce soit gratuit, mais ce serait un bonus si c’était le cas.

Il doit prendre en charge Visual Studio 2008 ou Visual Studio 2005 et .NET 2 et 3 (.5).

Voici un bon article sur Reflector et sur la manière d’intégrer Reflector dans Visual Studio .

Le complément Reflector.VisualStudio est particulièrement intéressant. Ce complément, créé par Jaime Cansdale, permet à Reflector d’être hébergé dans Visual Studio. Avec ce complément, vous pouvez intégrer Reflector dans l’environnement Visual Studio.

Pour commencer, vous devez disposer de la dernière version de Reflector sur votre ordinateur. Une fois que vous avez téléchargé Reflector, téléchargez la dernière version du complément Reflector.VisualStudio à partir de http://www.testdriven.NET/reflector . Le téléchargement contient un certain nombre de fichiers qui doivent être placés dans le même répertoire que Reflector.exe. Pour installer le complément, placez-vous sur la ligne de commande et exécutez:

Reflector.VisualStudio.exe /install 

Une fois le complément installé, vous pouvez commencer à utiliser Reflector à partir de Visual Studio. Vous remarquerez un nouvel élément de menu, Addins, qui comporte une option de menu intitulée Reflector. Cette option, lorsqu’elle est sélectionnée, affiche la fenêtre Reflector, qui peut être ancrée dans l’EDI. En outre, le complément prend en charge le menu contextuel.

Lorsque vous cliquez avec le bouton droit de la souris sur un fichier de code ouvert dans Visual Studio, vous verrez un élément de menu Reflector qui se développe dans un sous-menu avec des options permettant de désassembler le code en C # ou Visual Basic, d’afficher le graphe des appels ou celui appelé, ainsi que d’autres fonctions connexes. les choix. Le menu contextuel comprend également un élément de menu Synchroniser avec Reflector qui, lorsque vous cliquez dessus, synchronise l’arborescence du navigateur d’objects dans la fenêtre Reflector avec le fichier de code actuel.

Essayez le logiciel open source http://ilspy.net/

Le plugin Scout intègre Reflector avec ReSharper, si vous utilisez cet outil.

ReSharper 6 (actuellement disponible pour un access anticipé ) prend en charge la décompilation dans Visual Studio. L’ensemble des fonctions de navigation de ReSharper est applicable au code décompilé. Nous avons blogué à ce sujet il y a quelque temps.

Je pense que dotPeek est le meilleur des outils gratuits pour Decomstack C # code et .Net Assembly

Je ne pense pas qu’il puisse s’intégrer à Visual Studio, mais Reflector peut désassembler les assemblages .NET en un certain nombre de langages .NET ou afficher l’IL.

Le décompilateur Salamander .NET de Remotesoft ne s’intègre pas dans Visual Studio, mais il peut générer des fichiers de projet Visual Studio .NET pour une recompilation facile. Ce n’est pas gratuit

Vous pouvez attacher .NET Reflector à Visual Studio en utilisant simplement “Ouvrir avec” dans le fichier DLL / EXE du dossier bin , puis en choisissant Réflecteur (et défini par défaut). En outre, de nombreux outils (tels que TestDriven.NET si je me souviens bien et éventuellement ReSharper) fournissent un niveau d’intégration .NET Reflector.