nanoFramework.CoreLibrary 1.12.0-preview.18

Prefix Reserved
This is a prerelease version of nanoFramework.CoreLibrary.
There is a newer version of this package available.
See the version list below for details.
dotnet add package nanoFramework.CoreLibrary --version 1.12.0-preview.18                
NuGet\Install-Package nanoFramework.CoreLibrary -Version 1.12.0-preview.18                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="nanoFramework.CoreLibrary" Version="1.12.0-preview.18" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add nanoFramework.CoreLibrary --version 1.12.0-preview.18                
#r "nuget: nanoFramework.CoreLibrary, 1.12.0-preview.18"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install nanoFramework.CoreLibrary as a Cake Addin
#addin nuget:?package=nanoFramework.CoreLibrary&version=1.12.0-preview.18&prerelease

// Install nanoFramework.CoreLibrary as a Cake Tool
#tool nuget:?package=nanoFramework.CoreLibrary&version=1.12.0-preview.18&prerelease                

Quality Gate Status Reliability Rating License NuGet #yourfirstpr Discord

nanoFramework logo


Welcome to the .NET nanoFramework Base Class Library repository

Build status

Component Build Status NuGet Package
Base Class Library Build Status NuGet
Base Class Library w/o reflection Build Status NuGet
Base Class Library (preview) Build Status NuGet
Base Class Library w/o reflection (preview) Build Status NuGet

BCL Flavours

The .NET nanoFramework Base Class Library is provided in two flavours: with or without support for System.Reflection namespace. The reason for this is that the reflection API adds up a significant size to the DLL and image size. For targets with smaller flash this can be prohibitive.

Unit Test

nanoFramework has a dedicated Unit Test framework. This repository has Unit Test and you will find all of them under the Tests folder. The main solution embed all all the tests as well. You can run them directly from Visual Studio and create new tests. For more information on the Unit Test Framework.

CoreLibrary has specific needs that differ from what you'll find in the documentation:

  • You need to have the nanoFramework.TestFramework as a NuGet package as it will bring the nanoCLR Win32 emulator
  • You need to remove the reference to mscorlib, nanoFramework.TestFramework and nanoFramework.UnitTestLauncher
  • Use project reference instead for all those 3 elements

You can then run the test either on a real device, either in the emulator as described in the documentation. You may have to manually flash your device for the mscorlib version to match the one you are building on.

Important: Any new code checked in this repository will have to:

  • have a proper test covering for all the methods, properties, events and the possible exceptions,
  • do not break more of the the existing tests meaning, in other words, it should not create more issues than already existing.

Test structure and project reference

All the projects are referenced based and to be able to run the tests in the pipeline, in command line and in Visual Studio, it does require a specific structure:

  • The NFUnitTestAdapter project must be present and untouched. It does contains the core elements needed to have the nanoCLR Win32 application present.
  • You need to have a nano.runsettings file in each sub directory you want to run the tests on from Visual Studio
  • If you want to run the tests in command line you have to use the Developer Command Prompt for VS 2019 then you can use from the home cloned lib-CoreLibrary directory a command line like this one:
vstest.console.exe .\Tests\NFUnitTestBitConverter\bin\Release\NFUnitTest.dll  /Settings:.\Tests\NFUnitTestAdapater\nano.runsettings /TestAdapterPath:.\nanoFramework.TestFramework\source\TestAdapter\bin\Debug\net4.8 /Diag:.\log.txt /Logger:trx

Notes:

  • You have to build the TestAdapter from the source in this case. You can use the path to the NuGet as well, this will have the same effect.
  • you have full diagnostic enabled in this case.

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.

Product Compatible and additional computed target framework versions.
.NET Framework net is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

NuGet packages (337)

Showing the top 5 NuGet packages that depend on nanoFramework.CoreLibrary:

Package Downloads
nanoFramework.Runtime.Events

This package includes the nanoFramework.Runtime.Events assembly for nanoFramework C# projects. This package requires a target with nanoFramework.Runtime.Events v100.0.8.0 (checksum 0x0EAB00C9).

nanoFramework.System.Device.I2c

This package includes the System.Device.I2c assembly for nanoFramework C# projects. This package requires a target with System.Device.I2c v100.0.0.2 (checksum 0xFA806D33).

nanoFramework.System.Math

This package includes the nanoFramework.System.Math assembly for .NET nanoFramework C# projects. This package requires a target with System.Math v100.0.5.5 (checksum 0x9F9E2A7E).

nanoFramework.System.Device.Gpio

This package includes the System.Device.Gpio assembly for .NET nanoFramework C# projects. This package requires a target with System.Device.Gpio v100.1.0.6 (checksum 0x097E7BC5).

UnitsNet.nanoFramework.Temperature

Adds Temperature units for Units.NET on .NET nanoFramework. For .NET or .NET Core, use UnitsNet instead.

GitHub repositories (5)

Showing the top 5 popular GitHub repositories that depend on nanoFramework.CoreLibrary:

Repository Stars
dotnet/samples
Sample code referenced by the .NET documentation
angularsen/UnitsNet
Makes life working with units of measurement just a little bit better.
Azure/amqpnetlite
AMQP 1.0 .NET Library
nanoframework/Samples
🍬 Code samples from the nanoFramework team used in testing, proof of concepts and other explorational endeavours
nanoframework/nanoFramework.IoT.Device
📦 This repo includes .NET nanoFramework implementations for various sensors, chips, displays, hats and drivers
Version Downloads Last updated
1.15.5 167,185 11/9/2023
1.14.2 309,863 12/22/2022
1.14.1 2,505 12/22/2022
1.12.0 1,157,856 3/30/2022
1.12.0-preview.19 1,521 3/17/2022
1.12.0-preview.18 1,360 3/14/2022
1.12.0-preview.9 2,686 2/17/2022
1.12.0-preview.5 3,436 1/28/2022
1.12.0-preview.1 1,157 1/20/2022
1.11.7 56,733 12/2/2021
1.11.7-preview.14 173 1/20/2022
1.11.6 546 12/2/2021
1.11.6-preview.2 772 11/30/2021
1.10.5 77,513 7/13/2021
1.10.5-preview.18 2,604 6/19/2021
1.10.5-preview.13 1,379 6/7/2021
1.10.5-preview.10 1,314 6/3/2021
1.10.5-preview.4 974 5/31/2021
1.10.4-preview.11 4,662 5/19/2021
1.10.4-preview.6 241 5/19/2021
1.10.4-preview.4 705 5/13/2021
1.10.3-preview.20 1,002 5/4/2021
1.10.3-preview.7 3,418 3/21/2021
1.10.1-preview.11 1,964 3/2/2021
1.10.1-preview.9 3,863 1/6/2021
1.10.1-preview.7 1,298 12/29/2020
1.10.1-preview.6 390 12/28/2020
1.10.0-preview.4 1,653 12/7/2020
1.9.1-preview.6 3,233 10/20/2020
1.9.1-preview.4 410 10/20/2020
1.9.0-preview.11 284 10/20/2020
1.9.0-preview.5 2,186 9/30/2020
1.8.0-preview.11 351 9/30/2020
1.7.3 23,992 6/11/2020
1.7.3-preview.4 749 5/29/2020
1.7.2-preview.7 627 5/8/2020
1.7.2-preview.6 416 5/8/2020
1.7.2-preview.5 502 4/27/2020
1.7.2-preview.4 1,138 4/16/2020
1.7.1-preview.4 505 4/14/2020
1.7.0-preview.12 707 3/10/2020
1.7.0-preview.11 341 3/9/2020
1.7.0-preview.10 289 3/9/2020
1.7.0-preview.8 293 3/9/2020
1.7.0-preview.4 295 3/9/2020
1.7.0-preview.3 305 3/9/2020
1.7.0-preview.2 403 3/9/2020
1.7.0-preview.1 386 3/9/2020
1.6.0-preview.1 1,644 11/14/2019
1.5.1-preview.1 1,170 11/7/2019
1.5.0-preview.1 629 11/4/2019
1.4.1-preview.1 462 10/23/2019
1.4.0-preview.3 485 10/18/2019
1.3.0 9,488 10/16/2019
1.2.7 2,937 10/16/2019
1.2.6 7,355 10/15/2019
1.2.6-preview.16 1,078 7/17/2019
1.2.6-preview.14 328 7/17/2019
1.2.6-preview.12 300 7/17/2019
1.2.6-preview.10 499 7/11/2019
1.2.6-preview.7 772 6/23/2019
1.2.6-preview.1 584 6/20/2019
1.2.5-preview.1 763 6/12/2019
1.2.4-preview.1 472 6/12/2019
1.2.2-preview.20 443 6/11/2019
1.2.2-preview.5 379 6/12/2019
1.2.1-preview-013 1,118 6/11/2019
1.2.1-preview-001 6,461 4/26/2019
1.2.0 975 4/23/2019
1.1.2 862 4/23/2019
1.1.1 21,268 1/21/2019
1.1.0 12,930 12/14/2018
1.0.80 476 3/5/2021
1.0.67 444 3/3/2021
1.0.6-preview-027 633 12/14/2018
1.0.6-preview-021 3,963 12/5/2018
1.0.6-preview-010 4,467 11/19/2018
1.0.6-preview-001 3,880 11/7/2018
1.0.4 7,571 10/17/2018
1.0.1-preview127 2,987 10/9/2018
1.0.0-preview073 4,337 9/12/2018
1.0.0-preview062 3,771 8/7/2018
1.0.0-preview060 2,442 8/3/2018
1.0.0-preview054 3,048 6/16/2018
1.0.0-preview050 2,184 6/7/2018
1.0.0-preview049 2,265 5/28/2018
1.0.0-preview048 3,191 4/2/2018
1.0.0-preview043 3,113 1/3/2018
1.0.0-preview042 2,097 12/26/2017
1.0.0-preview038 2,161 12/6/2017
1.0.0-preview028 3,716 8/31/2017
1.0.0-preview027 2,375 8/30/2017
1.0.0-preview026 2,577 8/23/2017
1.0.0-preview025 1,738 8/23/2017
1.0.0-preview024 883 8/23/2017
1.0.0-preview023 1,616 8/18/2017
1.0.0-preview022 3,205 6/28/2017
1.0.0-preview021 867 6/28/2017
1.0.0-preview020 940 5/31/2017
1.0.0-preview019 937 5/31/2017
1.0.0-preview018 819 5/31/2017
1.0.0-preview016 1,057 5/13/2017
1.0.0-preview015 838 5/12/2017
1.0.0-preview014 887 5/9/2017
1.0.0-preview013 981 5/8/2017
1.0.0-preview012 900 5/5/2017
1.0.0-preview011 904 5/4/2017
1.0.0-preview010 863 5/4/2017