nanoframework / metadata-processor

:toolbox: metadata processor (.NET nanoFramework toolbox)

Home Page:https://www.nanoframework.net

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

License #yourfirstpr Build Status Discord

nanoFramework logo


Welcome to the .NET nanoFramework metadata processor repository

This repo contains .NET nanoFramework metadata processor tool. It's a console app that performs various tasks when running a build of a C# project, like parsing the PE file generated by Roslyn, generating the PDBX files, generate the stubs for native code. Is part of .NET nanoFramework toolbox, along with other various tools that are required in .NET nanoFramework development, usage or repository management.

Version 2.0 is a C# application adapted from the original work of Oleg Rakhmatulin. Version 1.0 was a Visual C++ application adapted from .NETMF toolbox.

Developers guide

Cloning the repository

After cloning the repository, instantiate the submodules with:

git submodule update --init --recursive

After which the NuGet packages in both the main solution and the mscorelib solution included within a submodule have to be restored. These have to be restored individually.

Adding projects to the solution

When adding a project to the solution the following points have to be kept in mind for configuring the project and solution:

  • nanoFramework projects (.nfproj) have to be build in AnyCPU configuration.
  • DLLs for msbuild tasks have to be build in x64 because Visual Studio uses this architecture since VS2022.
  • Any nanoFramework projects (.nfproj) that are required for Unit Tests have to have their build configuration changed so they don't build. Building those has to be added to the pre-build event of the Unit Test project that will be using it. See the prebuild event for the MetadataProcessor.Tests project. When adding nanoFramework projects to the pre-build event it is important to add the -nr=False flag[1].
  1. This flag disables "nodeReuse", this is needed as a custom MsBuildTask is used which also gets rebuilt. "NodeReuse" keeps instances of MsBuild running which interferes with the rebuilding of the custom MsBuildTask.

Feedback and documentation

To provide feedback, report 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 metadata processor tool is 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.

About

:toolbox: metadata processor (.NET nanoFramework toolbox)

https://www.nanoframework.net

License:MIT License


Languages

Language:C 56.4%Language:C++ 34.0%Language:C# 5.3%Language:CMake 4.0%Language:PowerShell 0.2%Language:Batchfile 0.1%Language:XSLT 0.0%