nanoFrameworkの調査メモ。
デバイスに入っているnanoCLRに組み込まれたアセンブリ情報
nanoff
nanoffでは情報取得できず。
いじってみた感触では、、、nanoffはnanoBooter, nanoCLRを書き込むためのツールで、nanoBooter, nanoCLRと通信する機能は無い模様。
Device Explorer
Device Capabilitiesボタンで、多くの情報が取得できる。 ここの「Native Assemblies」が該当。
Native Assemblies: mscorlib v100.5.0.18, checksum 0xCCE8376E nanoFramework.Runtime.Native v100.0.9.0, checksum 0x109F6F22 nanoFramework.Hardware.Esp32 v100.0.7.3, checksum 0xBE7FF253 nanoFramework.Networking.Sntp v100.0.4.4, checksum 0xE2D9BDED nanoFramework.ResourceManager v100.0.0.1, checksum 0xDCD7DF4D nanoFramework.System.Collections v100.0.1.0, checksum 0x2DC2B090 nanoFramework.System.Text v100.0.0.1, checksum 0x8E6EB73D nanoFramework.Runtime.Events v100.0.8.0, checksum 0x0EAB00C9 EventSink v1.0.0.0, checksum 0xF32F4C3E System.IO.FileSystem v1.0.0.0, checksum 0x3AB74021 System.Math v100.0.5.4, checksum 0x46092CB1 System.Net v100.1.5.0, checksum 0x5BAB8CB3 System.Device.Adc v100.0.0.0, checksum 0xE5B80F0B System.Device.Gpio v100.1.0.6, checksum 0x097E7BC5 System.Device.I2c v100.0.0.1, checksum 0xFA806D33 System.Device.Pwm v100.1.0.4, checksum 0xABF532C3 System.IO.Ports v100.1.6.1, checksum 0xB798CE30 System.Device.Spi v100.1.2.0, checksum 0x3F6E2A7E System.Runtime.Serialization v100.0.0.0, checksum 0x0A066871 System.Device.Wifi v100.0.6.4, checksum 0x1C1D3214 Windows.Storage v100.0.2.0, checksum 0x954A4192
手元のデバイスに入っているmscorlibは
- v100.5.0.18
- checksum 0xCCE8376E
であることがわかる。
コンパイルで使うアセンブリ情報
packages.configには、mscorlibに該当するnanoFramework.CoreLibraryの情報が書かれている。
<package id="nanoFramework.CoreLibrary" version="1.14.2" targetFramework="netnano1.0" />
- 1.14.2 (←これはNuGet Packageのバージョン)
- netnano1.0
NuGetパッケージの管理画面の、nanoFramework.CoreLibraryの説明欄にmscorlibのバージョンとchecksumが書かれている。
が、しかし、パッケージバージョンとmscorelibバージョン、checksumが一覧表示できないので、ちょっと不便。
nanoFramework.CoreLibraryの説明欄が書かれている場所
NuGetパッケージのMetadata(.nuspec)に書かれている。
https://nuget.info/packages/nanoFramework.CoreLibrary/1.14.2
NuGetパッケージのMetadataを取得する方法
APIあるっぽい。
取れた😎
https://api.nuget.org/v3/registration5-semver1/nanoframework.corelibrary/index.json