VS2019 Netduino Support

After going through the process of setting up my Meadow board in VS 2019 under Windows 10, I decided to see if there was any direct support for Netduino (or at least the .NET Micro Framework) and was surprised to see there was a downloadable extension. You can read about it here.

It says it’s just the VS2019 Project System for the .NET Micro Framework and so, I did still install the MicroFrameworkSDK.MSI (found on this website… I did try to compile an older project without it and it couldn’t find the referenced .dlls). Plus, of course, I installed the NetduinoSDK.exe (also found on this website). This worked on 3 different computers … on the newest one (that I hadn’t installed any .NET Micro Framework or NetDuino SDK on before), I did have to manually add the C:\Program Files (x86)\Secret Labs\Netduino SDK\Assemblies\v4.3 directory to a newly created HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft.NETMicroFramework\v4.3\AssemblyFoldersEx\SecretLabs Registry Key so I could easily add the Netduino SDK .dll references to a new .NET Micro Framework (Console or Library) project. But other than that, it was a pretty simple process. It may have been if I had ran the NetduinoSDK.exe as Administrator that it would have taken care of the Registry Entry for me (and now that I think of it, I should have tried it, but haven’t yet).

I have been able to compile for, plus connect and deploy to both my Netduino 2 Plus and Netduino 3 Wifi boards and execute the deployed programs without any problems (including stepping into/over code through an interactive debugging session on the Netduino 3 Wifi … haven’t tried debugging with the Netduino 2 Plus yet)

I was just a little surprised I hadn’t seen any mention of the VS 2019 .NET Micro Framework Extension (downloadable directly from VS 2019 Extensions->Manage Extensions) anywhere on the Community forums. I guess I could have missed it too (but I did search).

I will say I’m happy to get rid of VS 2015 since Netduino development was the only reason I was keeping it around.

1 Like

That is really interesting to see that there is an extension available and that you have it working.

Nice find !

I was aware of this article on running .NET Microframework code on VS2019 but was not aware of the extension. I may have to give this a try later.

Thanks for the information,
Mark

Just an update for clarification … installing netduinosdk_v5.exe as Administrator (at least for Windows 10) did take care of manually adding the registry settings necessary for easy access to referencing Netduino DLLs (i.e. you don’t have to browse, they are on the .NET tab when adding references).

For verification, I uninstalled the .NET Micro Framework from VS 2019, uninstalled the Netduino SDK and uninstalled the .NET Micro Framework. I also verified that the Registry was clean of any .NET Micro Framework Entries (and since the Netduino SDK settings were within that key, I knew they were gone too). I then re-installed everything.

So, now it really is pretty easy to install on Windows 10.

  1. If you don’t already have .NET 3.5 installed … it will still be a pre-requisite for Netduino development.
  2. Install VS 2019
  3. Install the .NET Micro Framework Extension (from VS 2019 Extensions->Manage Extensions… search for Micro Framework)… again, this seems to only be the Project System, even though the description reads like the SDK is included too). If anyone learns anything different, I’d love to know about it.
  4. Install the MicroFrameworkSDK.MSI (found on this website within the downloadable .zip file) … you don’t need anything else from the .zip … since everything else is for other versions of Visual Studio)
  5. Install the netduinosdk_v5.exe (found on this website) … I had to right-click and install as Administrator to get access to referenced DLLs on the .NET tab when I installed on Windows 10 pro.

You can probably swap steps 2 and 3 at your leisure … everything else pretty much needs to be done in the order described (i.e. You have to have VS 2019 installed before you install the .NET Micro Framework extension and you have to have the .NET Micro Framework SDK installed before you install the Netduino SDK).

That is all there is to it. You should now be able to easily create new Netduino projects in C# or VB.Net … Console App (.NET Micro Framework) or Class Library (.NET Micro Framework) will both work for Netduino. Just make sure you select your Netduino in project settings under the .NET Micro Framework options (selecting USB typically will find the Netduino if it’s plugged-in and accessible). I was also able to transfer projects from VS 2015 without any problems.

Hope this helps.
Jeff

2 Likes

Hi Jeff
Thanks a lot for posting this. It’s been on my TODO list for over a year but I never got around to it. I do all development on virtual machines and had kept a VS2015 machine specifically for Netduino development even though all other development is done on VS2019.

I cloned my VS2019 VM just in case and then followed my notes for VS2015.

Install MicroFrameworkSDK.MSI (4.3 SDK-QFE2)
Install netduinosdk.exe (4.3.2 May 2015)
Install VS plugin - VS2019 as recommended here.

I loaded my project into VS 2019 and tried to debug into our custom hardware. Success, first time.
I can’t speak for any other configuration but for the above it just works.

Cheers
Jason

Hi Jason,

Happy to hear it worked for you. I have a number of Netduino projects, including a rather large 55 project solution (a Class Library and 54 sample applications that show how to use the Class Library) that allows a 1Sheeld Arduino Shield to be used on a Netduino (works with both 2 Plus and 3 WiFi that I know of… I think it would work on the ethernet-based 3 too, but I don’t have one to test with). Regardless, I figured if there were going to be issues, that solution would find it. But everything worked without a hitch. Everything else that I’ve tested so far has too. I have uninstalled VS2015. I figure, if I have to, I can reinstall it… but at this point, I’m thinking I won’t be.

Thanks for the confirmation,
Jeff

I believe you have solved it now.Maybe you can challenge some other field tests. Like this:hc05 replacement module or BM77 replacement module