This extension allows you to use VS Code to flash, build and deploy your C# code for .NET nanoFramework on your device regardless of the platform you're using. This has been tested on Mac, Linux (64 bits) and Windows (64 bits).
This .NET nanoFramework VS Code extension allow you to flash, build and deploy your C# .NET nanoFramework application on an ESP32 or STM32 MCU.
Select nanoFramework: Flash device and follow the steps.
Based on the target you will select, the menus will automatically adjust to help you finding the correct version, DFU or Serial Port.
Once all options has been selected, you'll see the flashing happening:
Select nanoFramework: Build Project and follow the steps.
If you have multiple solutions in the open folder, you'll be able to select the one to build:
Build result will be display in the Terminal:
Select nanoFramework: Deploy Project and follow the steps.
Similar as building the project, you'll have to select the project to deploy. The code will be built and the deployment will start:
You'll get as well the status of the deployment happening in the Terminal.
To create a solution, you can select any folder on your workspace, right click and select the create solution option.
You then need to place a valid name and your solution is created.
On the solution, right click and select Add project to existing Solution
Place a valid name like in this example MyApplication.
Then select the type of project you want to add.
Select nanoFramework: Check Prerequisites to verify that all required tools are installed and properly configured on your system. This is especially helpful for macOS and Linux users to diagnose setup issues.
You will need to make sure you'll have the following elements installed:
- .NET 8.0 or later
- nanoff - Install via:
dotnet tool install -g nanoff - Windows only: Visual Studio Build Tools with ".NET desktop build tools" workload
- Linux/macOS only: mono-complete with msbuild, and nuget CLI
On Linux, you may need to add your user to the dialout group to access serial ports:
sudo usermod -aG dialout $USERLog out and back in for this to take effect.
Note: Do not use the
mono-completepackage provided by your Linux distribution
as it may not includemsbuildwhich is required for this extension to work.Instead install the
mono-completepackage provided by the Mono Project.
The preview version is recommended.
This extension will not allow you to debug the device. Debug is only available on Windows with Visual Studio (any edition) and the .NET nanoFramework Extension installed.
This extension works on:
- Windows: x64 and ARM64
- macOS: x64 (Intel) and ARM64 (Apple Silicon M1/M2/M3)
- Linux: x64 and ARM64
32-bit operating systems are not supported.
Documentation about development for the extension can be found here.
For documentation, providing feedback, issues and finding out how to contribute please refer to the Home repo.
Join our Discord community here.
The list of contributors to this project can be found at CONTRIBUTORS.
The nanoFramework Class Libraries are licensed under the MIT license.
This project has adopted the code of conduct defined by the Contributor Covenant to clarify expected behaviour in our community. For more information see the .NET Foundation Code of Conduct.
This project is supported by the .NET Foundation.













