nanoclr 1.1.86

There is a newer version of this package available.
See the version list below for details.
dotnet tool install --global nanoclr --version 1.1.86
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local nanoclr --version 1.1.86
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=nanoclr&version=1.1.86
                    
nuke :add-package nanoclr --version 1.1.86
                    

.NET nanoFramework nanoCLR

This .NET Core Tool allows running nanoCLR in Windows machines. This can be useful to have virtual devices for development purposes, performing automated tests on pipelines or other environments and other uses that benefit from having a virtual device opposed to real physical hardware. The virtual device can be accessed just like a real one through a virtual serial port, a named pipe or a TCP/IP port.

Is part of .NET nanoFramework toolbox, along with other various tools that are required in .NET nanoFramework development, usage or repository management.

Install .NET nanoFramework nanoCLR

Perform a one-time install of the .NET nanoFramework nanoCLR tool using the following .NET Core CLI command:

dotnet tool install -g nanoclr

After a successful installation a message is displayed showing the command that's to be used to call the tool along with the version installed. Similar to the following example:

You can invoke the tool using the following command: nanoff
Tool 'nanoclr' (version '9.9.9') was successfully installed.

Update .NET nanoFramework nanoCLR

To update .NET nanoFramework nanoCLR tool use the following .NET Core CLI command:

dotnet tool update -g nanoclr

Usage

Once the tool is installed, you can call it by using its command nanoclr, which is a short version of the name to ease typing.

nanoclr [command] [args]

The tool includes help for all available commands. You can see a list of all available ones by entering:

nanoclr --help

Virtual Serial Ports

This verb allows managing the virtual serial port exposing the virtual device. The virtual serial port it's only available in Windows machines. It's made available with the sponsorship of HHD Software which has kindly sponsored a free license for running their tool.

List Virtual Serial ports

This command lists the installed virtual serial port bridges in the system.

nanoclr virtualserial --list

Create Virtual Serial port

This command creates a virtual serial port that will be used to expose the nanoCLR instance. A random COM port will be created. A COM port can be optionally specified as an option. In this case, if that COM port it's not being used, it will be created.

nanoclr virtualserial --create [COM99]

Remove Virtual Serial port

This command removes an existing virtual serial port.

nanoclr virtualserial --remove [COM99]

Install Virtual Serial Port tools

This command installs HHD Software Virtual Serial Port Tools software. The installer is downloaded from their website and executed. Executing the installer requires "Install Driver" privilege and must be elevated. If the process running it doesn't have the required permissions an UAC prompt will be show.

nanoclr virtualserial --install

Running the virtual nanoCLR

These options run the nanoCRL instance loading the specified assemblies and exposing the device on a specified interface. Please note that for successfully running a nanoCLR instance it's require to load a set of assemblies and specify an interface to expose it, otherwise it has no use.

Load a set of assemblies

This loads a set of .NET nanoFramework assemblies and runs the nanoCLR. These have to be in .NET nanoFramework PE (Portable Executable) format. They are found in the output folder of a Visual Studio project (typically bin\Debug or bin\Release). Full path of the PE files is required.

nanoclr run --assemblies "C:\nano\my_nice_project\bin\Debug\mscorlib.pe" "C:\nano\my_nice_project\bin\Debug\my_nice_project.pe"

Specify Serial Port

This option specifies the COM port that will be used to expose the virtual nanoCLR that will be running. It requires a previous setup of a Virtual Serial Port (see Create Virtual Serial port).

nanoclr run --serialport COM99  (--assemblies ...)

Specify Named Pipe

This option specifies a Named Pipe that will be used to expose the virtual nanoCLR that will be running.

nanoclr run --namedpipe MyNanoDevice  (--assemblies ...)

Resolve references

This option tries to resolve cross-assembly references between the loaded assemblies.

nanoclr run --resolve (--assemblies ...)

Options to control debugger connection

There are two options that control how the nanoCLR execution interacts with a debugger. If it's intended that after a program terminates and exits the execution a debugger will be connecting, the option --loopafterexit should be included. In case it's expected that imediatly after nanoCLR is started,a debugger is to connect to it, the option --waitfordebugger should be included.

Maintenance operations with the nanoCLR

The nanoCLR it's, in fact, a wrapper to the nanoCLR instance that is distributed as DLL so it can be easily updated. The following operations are available to manage this.

Version of nanoCLR

Gets the version of the current nanoCLR instance.

nanoclr instance --getversion

Update nanoCLR instance

Checks for stable versions of nanoCLR and updates it, if there is one. A version can be specified. To check preview versions add the --preview option.

nanoclr instance --update [--preview] [--clrversion 1.22.333.4444]

Uninstall .NET nanoFramework nanoCLR

To uninstall the .NET nanoFramework nanoCLR tool use the following .NET Core CLI command:

dotnet tool uninstall -g nanoclr
Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last updated
1.1.96 235 5/2/2025
1.1.95 99 5/2/2025
1.1.94 156 4/30/2025
1.1.86 89 5/2/2025
1.1.81 180 4/29/2025
1.1.76 521 4/17/2025
1.1.66 332 4/4/2025
1.1.63 292 4/2/2025
1.1.61 297 3/14/2025
1.0.758 415 2/28/2025
1.0.751 334 2/25/2025
1.0.729 480 2/7/2025
1.0.726 119 2/6/2025
1.0.723 428 1/31/2025
1.0.721 114 1/31/2025
1.0.718 238 1/30/2025
1.0.717 122 1/30/2025
1.0.707 159 1/27/2025
1.0.692 526 1/3/2025
1.0.685 419 12/17/2024
1.0.676 235 12/6/2024
1.0.671 326 11/21/2024
1.0.664 370 11/8/2024
1.0.662 109 11/8/2024
1.0.659 291 10/23/2024
1.0.657 342 10/10/2024
1.0.656 186 10/3/2024
1.0.655 249 9/26/2024
1.0.654 159 9/26/2024
1.0.653 141 9/25/2024
1.0.650 232 9/20/2024
1.0.643 491 8/28/2024
1.0.637 444 8/7/2024
1.0.632 142 8/3/2024
1.0.630 125 8/2/2024
1.0.623 121 8/1/2024
1.0.618 107 7/30/2024
1.0.616 91 7/30/2024
1.0.615 97 7/30/2024
1.0.613 96 7/30/2024
1.0.612 101 7/29/2024
1.0.608 162 7/24/2024
1.0.606 95 7/24/2024
1.0.603 139 7/23/2024
1.0.601 160 7/19/2024
1.0.597 259 7/10/2024
1.0.591 255 6/26/2024
1.0.580 213 6/18/2024
1.0.573 251 6/12/2024
1.0.572 188 6/10/2024
1.0.569 213 6/7/2024
1.0.555 541 5/22/2024
1.0.554 144 5/22/2024
1.0.543 313 5/13/2024
1.0.530 240 5/7/2024
1.0.520 402 4/10/2024
1.0.515 507 3/22/2024
1.0.510 277 3/21/2024
1.0.509 281 3/14/2024
1.0.501 301 3/4/2024
1.0.494 340 2/22/2024
1.0.492 289 2/15/2024
1.0.488 249 2/9/2024
1.0.479 231 2/6/2024
1.0.473 332 1/26/2024
1.0.467 348 1/16/2024
1.0.455 520 12/22/2023
1.0.443 388 12/8/2023
1.0.430 528 11/16/2023
1.0.426 326 11/11/2023
1.0.425 245 11/10/2023
1.0.422 174 11/10/2023
1.0.421 216 11/9/2023
1.0.417 216 11/8/2023
1.0.412 219 11/7/2023
1.0.396 397 10/30/2023
1.0.392 357 10/24/2023
1.0.385 315 10/18/2023
1.0.381 337 10/12/2023
1.0.363 543 9/27/2023
1.0.334 485 8/31/2023
1.0.318 406 8/16/2023
1.0.317 338 8/7/2023
1.0.303 270 7/26/2023
1.0.302 180 7/26/2023
1.0.301 211 7/26/2023
1.0.292 214 7/26/2023
1.0.281 232 7/14/2023
1.0.267 375 6/16/2023
1.0.259 296 6/5/2023
1.0.256 208 5/31/2023
1.0.252 250 5/30/2023
1.0.250 208 5/29/2023
1.0.238 408 5/19/2023
1.0.237 208 5/19/2023
1.0.234 201 5/18/2023
1.0.233 207 5/17/2023
1.0.230 303 5/11/2023
1.0.225 333 5/5/2023
1.0.217 427 4/18/2023
1.0.216 221 4/17/2023
1.0.212 316 4/14/2023
1.0.211 348 4/11/2023
1.0.208 384 4/3/2023
1.0.205 299 3/30/2023
1.0.201 339 3/25/2023
1.0.200 288 3/22/2023
1.0.197 367 3/15/2023
1.0.196 291 3/15/2023
1.0.193 271 3/15/2023
1.0.190 271 3/14/2023
1.0.184 324 3/10/2023
1.0.182 278 3/10/2023
1.0.180 263 3/9/2023
1.0.179 297 3/9/2023
1.0.159 507 2/20/2023
1.0.151 330 2/17/2023
1.0.148 352 2/16/2023
1.0.145 314 2/15/2023
1.0.117 420 2/3/2023
1.0.116 314 2/3/2023
1.0.114 377 1/31/2023
1.0.111 369 1/30/2023
1.0.105 476 1/17/2023
1.0.104 522 1/5/2023
1.0.103 369 1/4/2023
1.0.100 367 1/3/2023
1.0.98 390 1/2/2023
1.0.95 416 1/2/2023
1.0.93 392 1/2/2023
1.0.92 453 12/22/2022
1.0.84 449 12/14/2022
1.0.63 491 12/5/2022
1.0.62 373 12/5/2022
1.0.55 406 12/2/2022
1.0.53 400 12/2/2022
1.0.50 385 12/2/2022
1.0.47 421 12/2/2022
1.0.45 406 12/2/2022
1.0.41 422 12/2/2022
1.0.39 393 12/2/2022
1.0.38 418 12/1/2022
1.0.37 417 12/1/2022
1.0.36 430 12/1/2022
1.0.34 415 11/30/2022
1.0.28 382 11/30/2022
1.0.25 471 11/29/2022
1.0.23 394 12/13/2022
1.0.22 388 12/13/2022
1.0.19 395 11/29/2022
1.0.15 419 11/29/2022
1.0.14 403 11/29/2022
1.0.13 391 11/29/2022
1.0.12 356 12/8/2022
1.0.11 394 12/7/2022
1.0.9 392 12/7/2022
1.0.3 365 12/5/2022
1.0.1 357 12/5/2022