Are there good tools for C# reverse engineering? [

2019-03-19 05:11发布

问题:

can you say me if there are good tools for reverse-engineering my C# applications. I need UML-class-diagrams of my written software and i don't want to draw these diagrams by myself. I've already tested StarUML but it didn't work because I used generics an something.

Would be great if there a some advices.

Greetings, Martin

回答1:

Have you checked out .NET reflector? Has a diagram plugin too..

List of Add-Ins



回答2:

Coincidentally enough a colleague of had a meeting with some MS guys regarding Visual Studio 2010 team foundation server. They told him that it has the ability to reverse engineer your assemblies and produce UML diagrams. A quick look on MSDN (link text) seems to partially confirm this. It doesn’t say UML but it confirms architectural diagrams can be derived and your code which can be validated against at compile time. But it’s obviously not available yet and I’m sure it will carry a hefty price tag.



回答3:

Altova UModel



回答4:

Sparx enterprise architect is very good. I use it at my work.



回答5:

ILSpy looks alot like Reflector.
http://wiki.sharpdevelop.net/ILSpy.ashx
I've used it many times and it's very handy.

There's also dotPeek(Creators of Resharper)
http://www.jetbrains.com/decompiler/index.html?topDP

They Are both free :D



回答6:

The NDepend tool is certainly what you are looking for C# code reverse engineering. NDepend comes with a dependency graph coupled with a dependency matrix. You can try NDepend straight on your code thanks to a Free Trial Edition. As a picture is worth a thousands words, see NDepend's screenshoots extracted from this blog post: Interactive Code Dependencies Graph

alt text http://codebetter.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/patricksmacchia.Graph/InternalDependenciesGraphSmall2.jpg

alt text http://codebetter.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/patricksmacchia.Graph/CycleGraphSmall2.jpg

alt text http://codebetter.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/patricksmacchia.CQLExport/Graph1.jpg



回答7:

Visual Studio 2010 Ultimate supports UML class diagrams as well as sequence, component, use case, and activity diagrams. It also supports creating sequence, dependency graphs, and layer diagrams from code. Regarding your question about generating UML diagrams from code, there's a response here in the VS Architecture & Modeling tools forum: Is it possible to reverse engineer C# code into an UML Class Diagram?

Other tools include Architecture Explorer, which lets you browse and explore your solution.

For more info, see the following links:

To download the RC release, visit: Microsoft Visual Studio 2010 Ultimate RC

To see the RC documentation, see Modeling the Application.

To discuss these tools, visit the Visual Studio 2010 Architectural Discovery & Modeling Tools forum.