5

.NET 5 Support by AndrewIOM · Pull Request #210 · fslaborg/RProvider · GitHub

 3 years ago
source link: https://github.com/fslaborg/RProvider/pull/210
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Copy link

AndrewIOM commented 3 days ago

edited

I have been working to get the RProvider running on .NET5 using the dotnet sdk.

To get RProvider to work, I had to update the following:

  • Migrate all projects to the new SDK format.
  • Migrate to FAKE5 for build script.
  • Move paket to use the dotnet tool.
  • Update to fsdocs for the documentation website.
  • Remove Remoting between server and client processes, and replace with an implementation based on System.IO.Pipes. I have used another helper library to achieve this (PipeMethodCalls).
  • Update associated libraries (e.g. test libraries).

I have tested this implementation using both the .NET 5 and .NET 6 preview 7 SDKs, with all tests passing and sample scripts working as expected. This is on macOS 11 Big Sur on both an Intel mac and M1 mac. I have tested against the latest R version 4.1.1 (2021-08-10) -- "Kick Things"

There was a small change required to the PipeMethodCalls library, but I was unsure if this is something that can be addressed in RProvider. Essentially, there is an issue with reflection where I needed to use GetRuntimeMethods rather than GetMethods to discover the interface's methods.

NB The only prerequisite to run is that R_HOME environment variable is set.

Addresses issues #188.
Follows discussion in #209


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK