Q: We just want to exclude a control that lives in the VB6 code so that it disappears from the resulting C# code.
A:
Controls declared in the property bag have a different lifecycle than symbols declared in logic or COM APIs. They are a bit stubborn to get rid of.
A further problem is that the vsElastic is a container control. You need to retain the contained controls when you remove the elastic. You can try using two preedits to remove it from the source: You have to remove the top of the control declaration/initializations and also remove the End; leaving the contained controls in place. I do not think the unusual indentation of the remaining content will be an issue.Q: We just want to exclude a control that lives in the VB6
Code Block |
---|
...
Code Block |
---|
<Compile...> <Fix...> <Replace name="remove the Begin vsElastic and its properties up its first child control. Note that '…' is a multiline wildcard" > <OldBlock><![CDATA[ Begin vsOcx6LibCtl.vsElastic Base ... Begin VB.CommandButton cmdExit ]]></OldBlock> <NewBlock><![CDATA[ Begin VB.CommandButton cmdExit ]]></NewBlock> </Replace> <Replace name="Remove the End of the vsElastic"> <OldBlock><![CDATA[ End End Begin VB.Label Label9 ]]></OldBlock> <NewBlock><![CDATA[ End Begin VB.Label Label9 ]]></NewBlock> </Replace> ... |
...
In many cases, it may be more natural to use Refactor commands to migrate a complex the container control to a simpler .NET container such as a group box.
These could also be implemented in a more general way using gmSL scripting to edit the code before processing.
https://portalgreatmigrations.greatmigrationsatlassian.comnet/wiki/display/GMG/Support+Statement%3A+gmSL+EditSource
See also this article that talks about removing a control that is used in logic.
https://portalgreatmigrations.greatmigrationsatlassian.comnet/wiki/display/GMG/Support+Statement%3A+Upgrading+a+COM+Component+property+to+a+WinForms+Static+property