dotnet / dotnet/vblang

Update on My in .NET Core 3.0

Open
#471 6 comments 0 reactions 0 assignees View on GitHub
Dominant language
No language data
Stars
328
Forks
71
PR merge metrics
No merged PRs in 30d

Description

So, we were overly optimistic/made a mistake regarding one aspect of the port of the Visual Basic Runtime (microsoft.visualbasic.dll) to .NET Core. This is "fixed" in Preview 9.

As some of you may know the roots of WinForms run deep in Visual Basic. It's used by a variety of things that you might not think use it. WinForms dependent parts of the Visual Basic Runtime will be in the WinForms library - and the link to your app is expected to be invisible if you are using WinForms. The WinForms part of the Visual Basic Runtime is not in .NET Core 3.0 but will be in the next version of Visual Basic.

For types that have a WinForms dependency, but WinForms is irrelevant to other parts of the class, in earlier previews we ported the non-WinForms part, with the expectation of using Reflection to access the WinForms part. This was a mistake. The experience is terrible when the Reflection fails. As such, we were forced to back out this portion of the port in Preview 9. ApplicationBase, the My subsystem, and other things are no longer there. You can see this in the [PR](https://github.com/dotnet/corefx/pull/39972) which is now in the [Master/daily builds](https://github.com/dotnet/core-sdk).

We messed up and we had to fix it. I'm sorry for the inconvenience if you are using the previews, and I'd love to hear how things went overall. I hate that we had to pull this out, but while we can move things from WinForms back to CoreFx, we cannot do the reverse and had to take this change.

One module remains a problem. There was no good choice here. `Interactions` has both `IIf` and 'ErrObject' and 'MsgBox'. For this module, we are leaving it in CoreFx. `IIf` was the compelling case here, because [API Port Telemetry](https://apisof.net/catalog/Microsoft.VisualBasic.Interaction.IIf(Boolean,Object,Object)) shows quite high use.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.