🧰 Multi platform deployment tool to deploy .NET nanoFramework PE files
ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ
dependabot[bot] a6ad4c46f7
Bump NuGet.Build.Tasks.Pack in /nanoFrameworkDeployer (#59)
2024-06-12 18:31:07 +01:00
.github Update dependabot.yml 2022-11-17 22:46:33 +00:00
assets Work CI-CD 2021-11-25 11:51:00 +00:00
azure-pipelines Work CI-CD 2022-04-18 16:06:58 +01:00
config adjusting build elements 2021-09-28 15:13:35 +03:00
nanoFrameworkDeployer Bump NuGet.Build.Tasks.Pack in /nanoFrameworkDeployer (#59) 2024-06-12 18:31:07 +01:00
.gitignore initial commit 2021-09-28 13:48:48 +03:00
LICENSE.md Work on CI-CD (#1) 2021-09-28 17:45:36 +02:00
NuGet.Config Work CI-CD 2024-06-12 16:36:02 +01:00
README.md Update README (#51) 2023-05-29 13:16:04 +01:00
azure-pipelines.yml Work CI-CD 2024-06-12 18:02:12 +01:00
nanoFrameworkDeployer.sln Fix solution and project files (#21) 2022-11-18 09:15:26 +00:00
version.json Migrate project to package references (#8) 2021-12-16 13:11:47 +00:00

README.md

Quality Gate Status Reliability Rating Build Status NuGet License #yourfirstpr Discord

nanoFramework logo



⚠️ This tool is deprecated and no longer being maintained. The funcionalities are available in nanoff.



Cross-platform .NET nanoFrameworkDeployer Console Application

This repo provides a .NET Console Application that can deploy your .NET nanoFramework projects to a nanoFramework supported device connected via USB. While this is already possible through the nanoFramework extension in Visual Studio for Windows, this repository aims to add support for deploying your projects on non-Windows based devices such as macOS and Linux.

Requirements

Windows

Linux / macOS

  • mono-complete on non Windows platforms, you can find out how to install mono here. The reason that you need mono is because the tool requires .NET 4.7.2. This tool cannot yet be build using .NET 6.0 or .NET Core because some of the dependencies are those used by the Visual Studio extension. The other reason why you need mono is to build a nanoFramework project.

Getting Started

The tool provide various options:

  -d, --directory    Required. Folder containing the PE files.
  -v, --verbose      Show verbose messages.
  -c, --comport      The COM port to use if multiple. By default, the first
                     valid found is used.
  -e, --exception    COM Port exception file.
  -r, --reboot       Reboot the device after flash.
  -b, --bin          Creates a deployment binary file only. This is not attempting to deploy.
  --help             Display this help screen.
  --version          Display version information.

NOTE: When running this tool in a NON Windows environment, you need to use mono. If you are using Windows 7 or above, you DO NOT need mono .

You can then use commands like:

Linux / macOS

mono nanoFrameworkDeployer -d path_to_pe_files

path_to_pe_files is the path to the build folder where all the .pe files are located. Note that the tool will automatically upload all the .pe files available in that folder.

Excluding a COM port

Some virtual COM ports are provided by Bluetooth devices and other software. By default the tool will scan all the possible mounted COM ports to try to find a valid .NET nanoFramework device. That can disconnect temporally your connected headset or any other device using a COM port and may also cause lockups in the deployer tool. In that case, you can create an exclusion file. Just list the COM ports you want to exclude from the search, one port per line. You can then use the -e option to pass the name of the file.

/dev/tty-bluetooth
COM7

Rebooting the device once flashed

You can automatically ask the tool to reboot your device once flashed, used the -r options for that.

Selecting a specific COM port

If you have multiple valid .NET nanoFramework devices connected, you can select a specific COM port, just use the -c option to specify that followed by the COM port you want to use.

Creating a binary deployment file

Using the --bin or -b option will create a binary deployment file. You can then use it with nanoff to flash your device. Please note that using this option will not flash the device. All other options except the directory one will be ignored.

Feedback and documentation

For documentation, providing feedback, issues and finding out how to contribute please refer to the Home repo.

Join our Discord community here.

Credits

The list of contributors to this project can be found at CONTRIBUTORS.

License

The nanoFramework Class Libraries are licensed under the MIT license.

Code of Conduct

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.

.NET Foundation

This project is supported by the .NET Foundation.