2013-07-01 26 views
5

Jak mogę dynamicznie modyfikować kod MSIL w pamięci za pomocą C#/.NET?Samodymodujący kod C# (MSIL)?

I tak, naprawdę chcę zastąpić istniejący kod, który jest już w pamięci w locie.
Konkretnie, jestem nie:

  • Patrząc tylko generować nowy kod (za pomocą szablonów ekspresyjnych, ILGenerator, etc.)
  • Próbując emitować nowy moduł binarny w nadziei załadunku to w pamięci później
+0

O ile mi wiadomo, nie jest to obsługiwane w .net IL. Dlaczego ten konkretny scenariusz jest wymagany? – flacnut

+0

Dlaczego tego potrzebujesz? –

+0

@newStackExchangeInstance: Nie mogę naprawdę omówić projektu, nad którym pracuję, wszystko, co mogę powiedzieć, to to, że posiadanie tej możliwości bardzo by pomogło. – Mehrdad

Odpowiedz

2

.Net Profiling API wydaje się obiecujące.

W przeciwnym razie jestem zaskoczony.

+0

+1 spojrzy na to (choć wydaje się stary), dzięki. – Mehrdad

+0

Wygląda na to, że wymaga natywnego kodu ... czy nie można tego zrobić z kodu zarządzanego? – Mehrdad