Vorweg: C#.NET und VB.NET werden bei .NET beide zu CIL kompiliert.
Es macht also auch keinen Unterschied, als was Du nun den Code haben willst.
Es gibt zwar Klassen, die ein VisualBasic-Namespace haben, aber das sind am Ende auch nur normale .NET-DLLs und die sind CIL.
Ich hatte bei ILSpy aber schon Schwierigkeiten, dass das Projekt, was es mir ausgibt, nicht sauber erstellt. Ob sie das mittlerweile korrigiert haben, weiß ich nicht, jedenfalls nutze ich ILSpy nur zum Anschauen einer DLL.
Zum Bearbeiten verwende ich stattdessen
DNSpy. Das Programm kommt schon hart an die Magie heran
Es kann dir eine DLL dekompilieren, Du kannst sie direkt bearbeiten und sogar debuggen. Es funktioniert manchmal etwas hackelig, aber bisher hab ich's immer irgendwie hin bekommen.
Wenn Du also nur eine kleine Änderung machen willst, kann das das Mittel der Wahl sein. Aber nicht vergessen: Backup machen
Dein Fehler wird aber vermutlich ein Anderer sein.
.NET lädt Abhängigkeit erst zur Laufzeit, wenn sie das erste Mal benötigt werden.
Wenn Du also das dekompilierte Projekt bearbeitest und kompilierst, könnte es sein, dass diese benötigte Abhängigkeit nicht im Output-Ordner neben der exe liegt. ILSpy kann dir ja auch nur das Projekt aus dem CIL-Code dekompilieren, sowas wie ein Build-Script kann es nicht kennen.
Das gleiche Problem hast Du aber auch bei DNSpy, nur dass Du da direkt im Porgamm-Ordner arbeiten kannst und dort für gewöhnlich die Abhängigkeiten noch vorhanden sind.