Open Source alternatywy dla reflektora? [zamknięte]

Obecnie pytanie to nie pasuje do naszego formatu pytań i odpowiedzi. Oczekujemy, że odpowiedzi będą poparte faktami, referencjami lub wiedzą specjalistyczną, ale to pytanie będzie prawdopodobnie wywoływało debatę, argumenty, ankiety lub rozszerzoną dyskusję. Jeśli uważasz, że to pytanie można poprawić i ewentualnie ponownie otworzyć, odwiedź Pomoc centrum dla wskazówek. Zamknięte 8 lat temu . zamknięte. To pytanie i jego odpowiedzi są zamknięte , ponieważ pytanie jest off-topic, ale ma znaczenie historyczne. Obecnie nie przyjmuje nowych odpowiedzi ani interakcji.

Tylko zapytać, czy ktoś zna open source alternatywę dla reflektora RedGate ' a ? Interesuje mnie jak działa narzędzie podobne do Reflector.

Uwaga, Jeśli znasz darmową, ale nie open source alternatywę dla reflektora, możesz odpowiedzieć na następujące powiązane pytanie:

Podsumowanie-aktualizacja 11 maja 2011

Szybkie podsumowanie różnych projektów i narzędzi open source, które zostały zasugerowane:

  1. Common Compiler Infrastructure (CCI)
  2. Mono
  3. ILSpy
  4. W przeciwieństwie do oryginału, projekt jest bardziej aktywny niż oryginał.]}
  5. Dotnet IL Editor (DILE)
  6. IL.Widok
  7. Monoflector (brak aktywności od kwietnia 2011)

Następujące zasoby mogą być również interesujące:

  • TypeView.cs
  • notatki Jasona Haleya o demontażu. NET
  • Adrian Bank ' s ostatni blog post podsumowujący szereg alternatyw Reflektorów, w tym kilka opcji nie wymienionych poniżej.
  • szczegółowy opis marka Lichtenberga blog post porównanie kilku alternatyw open source (DILE, ILSpy i Mono przy użyciu MonoDevelop) do Reflector.
Author: Community, 2010-03-11

10 answers

2 opcje, które znam.

These wont give you C# though.

 31
Author: leppie,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-03-11 15:20:56

Updated 13th December 2011

Dostępne są następujące narzędzia open source:

 175
Author: MagicAndi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-12-13 16:09:07

Kolejnym zamiennikiem będzie dotPeek . JetBrains ogłosił go jako darmowe narzędzie. Prawdopodobnie będzie miał więcej funkcji, gdy będzie używany z ich Resharper, ale nawet jeśli używany sam działa bardzo dobrze.

User experience bardziej przypomina MSVS niż samodzielny disassembler. Lubię czytać kod bardziej niż w reflektorze. Nawigacja Ctrl + T też mi pasuje. Wystarczy synchronizacja drzewa z panelem kodu może być lepsza.

W sumie, jest jeszcze w rozwoju, ale bardzo już dobrze użyteczny.

 38
Author: Ferdinand Prantl,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-06-11 07:51:50

Telerik udostępnił dzisiaj wersję Beta własnego narzędzia do dekompilacji, JustDecompile . Zamknięte źródło, ale wolne i wygląda obiecująco.

 15
Author: ray glover,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-05-02 17:10:35

ILSpy działa świetnie!

Z tego co wiem robi wszystko co Reflektor i wygląda tak samo.

 12
Author: Rob,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-01-09 10:02:11

Właściwie, jestem pewien, że Reflector jest uważany za disassembler z pewną funkcjonalnością dekompilatora. Disassembler ponieważ odczytuje bajty z pliku asemblera i konwertuje go na język asemblera (w tym przypadku ILasm). Funkcja Dekompilatora, którą zapewnia, poprzez parsowanie IL na dobrze znane wzorce (takie jak wyrażenia i wyrażenia), które następnie zostają przetłumaczone na języki wyższego poziomu, takie jak C#, VB.Net, itd. Addin api dla Reflector pozwala na pisanie własnego języka Tłumacz jeśli chcesz ... jednak Magia parsowania IL w drzewach ekspresji jest ściśle strzeżoną tajemnicą.

Polecam spojrzeć na jedną z trzech rzeczy wymienionych powyżej, jeśli chcesz zrozumieć, jak działają disassemblery IL: Dile, CCI i Mono są dobrymi źródłami dla tych rzeczy.

Gorąco polecam również zakup ECMA 335 spec i książki Serge Lidin.

 10
Author: Jason Haley,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-05-19 23:43:51

Głównym powodem, dla którego użyłem Reflector (i myślę, że głównym powodem, dla którego większość ludzi go używała) był dekompiler: może on przetłumaczyć IL metody z powrotem na kod źródłowy.

Z tego powodu, Monoflector byłby projektem do obejrzenia. Używa Cecila, który robi odbicie, i Cecila.Dekompilator, który zajmuje się dekompilacją. Ale monoflector warstw UI na obu bibliotekach, co powinno dać bardzo dobry pomysł, jak korzystać z API.

Monoflector jest również przyzwoitym alternatywa dla reflektora. Pozwala przeglądać typy i dekompilować metody, co stanowi 99% tego, do czego ludzie używali Reflektora. Jest bardzo szorstki na krawędziach, ale myślę, że to szybko się zmieni.

 8
Author: Joe White,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-02-04 14:08:45

Cóż, Reflektor sam w sobie jest zespołem. NET, więc możesz otworzyć Reflektor.exe w reflektorze, aby sprawdzić, jak jest zbudowany.

 5
Author: Andrew Hare,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-03-11 15:02:28

Obecnie pracuję nad open-source disassemblerem / dekompilatorem o nazwie Assembly Analyzer. Generuje kod źródłowy dla metod, wyświetla metadane i zasoby złożenia oraz umożliwia przechodzenie przez zależności.

Projekt jest hostowany na CodePlex = > http://asmanalyzer.codeplex.com/

 3
Author: Codewhisperer84,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-05-20 18:36:54

Narzędzie reflektor wykorzystuje odbicie. - najwyraźniej to nie jest poprawne.

Prosiłeś o dwie rzeczy - kod, który pokazuje, co robi reflektor, a także alternatywę dla reflektora.

Oto przykład, znacznie uproszczony od tego, co robi reflektor, ale pokazuje technikę odbicia: TypeView.cs

Nie mam pomysłu na wymianę Reflektora open-source.

 1
Author: Cheeso,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-04-14 18:58:20