This tracks porting to .NET Core the rest of the types in Microsoft.VisualBasic, now that we've published the original sources.
Contributions are welcome! The porting process is essentially
- Pick some types.
- Get the original .NET Framework code from referencesource
- Add it to the src project, make it compile. Fix style to match style guidelines, update license headers to match existing code.
- Add the API to the ref. Here's an example of a complete ref generated from the .NET Framework binary.
- Write tests, add to the tests project, and make them pass.
- Put up a PR then we can check the type off.
Here is an example change that ported some more of Strings.
To track progress, here is a list of classes/structs that aren't in .NET Core (or are present, but missing some members). I am not listing the members nor any enums: that detail is here: https://gist.github.com/danmosemsft/d34ec1055c4c23aefcd047089538d3a1
namespace Microsoft.VisualBasic
namespace Microsoft.VisualBasic.ApplicationServices
namespace Microsoft.VisualBasic.CompilerServices
namespace Microsoft.VisualBasic.Devices
namespace Microsoft.VisualBasic.FileIO
namespace Microsoft.VisualBasic.Logging
namespace Microsoft.VisualBasic.MyServices
namespace Microsoft.VisualBasic.MyServices.Internal
A few types may not be portable yet because of dependency issues - either they depend on something that isn't quite yet in .NET Core (principally Windows Forms) or that is, but is in a higher dependency level (Windows Forms again). I have marked some of these with (*). This problem can be solved but I suggest that we skip these for the moment.
ccing folks who have expressed interest in the past: this is now unblocked.
@KathleenDollard @OmarTawfik @karelz @jaredpar
@amshekar @bbowyersmyth @iainnicol @EdwinEngelen @kaiukdevelopment @ocdtrekkie @ericmutter @MohammadHamdyGhanem
This tracks porting to .NET Core the rest of the types in Microsoft.VisualBasic, now that we've published the original sources.
Contributions are welcome! The porting process is essentially
Here is an example change that ported some more of Strings.
To track progress, here is a list of classes/structs that aren't in .NET Core (or are present, but missing some members). I am not listing the members nor any enums: that detail is here: https://gist.github.com/danmosemsft/d34ec1055c4c23aefcd047089538d3a1
namespace Microsoft.VisualBasic
namespace Microsoft.VisualBasic.ApplicationServices
namespace Microsoft.VisualBasic.CompilerServices
namespace Microsoft.VisualBasic.Devices
namespace Microsoft.VisualBasic.FileIO
namespace Microsoft.VisualBasic.Logging
namespace Microsoft.VisualBasic.MyServices
namespace Microsoft.VisualBasic.MyServices.Internal
A few types may not be portable yet because of dependency issues - either they depend on something that isn't quite yet in .NET Core (principally Windows Forms) or that is, but is in a higher dependency level (Windows Forms again). I have marked some of these with (*). This problem can be solved but I suggest that we skip these for the moment.
ccing folks who have expressed interest in the past: this is now unblocked.
@KathleenDollard @OmarTawfik @karelz @jaredpar
@amshekar @bbowyersmyth @iainnicol @EdwinEngelen @kaiukdevelopment @ocdtrekkie @ericmutter @MohammadHamdyGhanem