Hi!
Ich befasse mich momentan mit der Abänderung von Code in Framework-Assemlies mit Hilfe des .Net-Reflector-Plugins ReflexIL.
Dabei sind mir einige grundsätzliche Verständnisfragen aufgekommen, zu denen ich keine zufriedenstellenden Antworten gefunden habe:
Ist es möglich Framework-Assemblies lokal so zu verändern, dass der aktualisierte Code von beliebigen .Net-Anwendungen in der abgewandelten Form ausgeführt wird?
Ich habe mich bisher mit Funktionalitäten in der mscorlib.dll befasst. Sie liegt in einer Testumgebung (Windows XP Mode), in der ich nur das .Net-Framework 3.5 SP1 installiert habe, scheinbar nur in der Version 2.0 vor. Woran liegt das? Ist seit 2.0 die mscorlib.dll für alle Framework-Versionen identisch?
Dem verlinkten Beitrag auf StackOverflow habe ich entnommen, das Framework-Assemblies signiert sind. Was bedeutet das genau?
Beim Speichern der .DLL nach dem Einsatz von ReflexIL erschien ein Hinweis, dass das StrongName-Tool sn.exe erforderlich sei. Da ich in der VM allerdings nur das Framework und nicht das .Net-SDK oder die IDE installiert hatte, habe ich die Meldung weggeklickt. Das Änderungsdatum der mscorlib.dll wurde dennoch aktualisiert und auch nach einem Systemneustart erschien im Reflector der von mir eingetragene Code. An dem Resultat der Berechnungen in einem Testprogramm hat sich jedoch nichts geändert! Woher bezieht das Framework die originale Version der mscorlib.dll und warum wird auf meine Änderungen nicht eingegangen?
hoffentlich kennt sich jemand damit aus
mfg FuFu^^
Ich befasse mich momentan mit der Abänderung von Code in Framework-Assemlies mit Hilfe des .Net-Reflector-Plugins ReflexIL.
Dabei sind mir einige grundsätzliche Verständnisfragen aufgekommen, zu denen ich keine zufriedenstellenden Antworten gefunden habe:
Ist es möglich Framework-Assemblies lokal so zu verändern, dass der aktualisierte Code von beliebigen .Net-Anwendungen in der abgewandelten Form ausgeführt wird?
Ich habe mich bisher mit Funktionalitäten in der mscorlib.dll befasst. Sie liegt in einer Testumgebung (Windows XP Mode), in der ich nur das .Net-Framework 3.5 SP1 installiert habe, scheinbar nur in der Version 2.0 vor. Woran liegt das? Ist seit 2.0 die mscorlib.dll für alle Framework-Versionen identisch?
Dem verlinkten Beitrag auf StackOverflow habe ich entnommen, das Framework-Assemblies signiert sind. Was bedeutet das genau?
Beim Speichern der .DLL nach dem Einsatz von ReflexIL erschien ein Hinweis, dass das StrongName-Tool sn.exe erforderlich sei. Da ich in der VM allerdings nur das Framework und nicht das .Net-SDK oder die IDE installiert hatte, habe ich die Meldung weggeklickt. Das Änderungsdatum der mscorlib.dll wurde dennoch aktualisiert und auch nach einem Systemneustart erschien im Reflector der von mir eingetragene Code. An dem Resultat der Berechnungen in einem Testprogramm hat sich jedoch nichts geändert! Woher bezieht das Framework die originale Version der mscorlib.dll und warum wird auf meine Änderungen nicht eingegangen?
hoffentlich kennt sich jemand damit aus
mfg FuFu^^