Department of InformatiX
Microsoft .NET Micro Framework Tools & Resources

Update srpen 2019: Aktualizována metadata v rozšíření a přidány soubory pro starší verze .NET Micro Frameworku.

Chystám se již delší dobu připravit instalátor, který zařídí vše potřebné. Měsíce ovšem plynou a nic se neděje, a proto jsem se rozhodl sepsat, jak jsem to zprovoznil ručně.

.NET Micro Framework 4.4 ve Visual Studiu 2017

Šablony projektů ve Visual Studiu 2017 s .NET Micro Frameworkem 4.4

Někteří jste si možná všimli, že úpravu .NET Micro Frameworku, která umožňuje jeho provoz ve Visual Studiu 2017 jsem zveřejnil na GitHubu již v červnu 2017, viz větev VS15.3. Můžete si tedy instalátor SDK buď zkompilovat sami, a to tak, že:

  1. se ujistíte, že vaše oblíbená instance Visual Studia je minimálně verze 15.3 a má nainstalovanou sadu Vývoj desktopových aplikací pomocí C++ a VC++ tools, tato samostatná komponenta se jmenuje VC++ 2017 version 15.8 v14.15 latest v141 tools ve verzi 15.8;
  2. naklonujete si https://github.com/miloush/netmf-interpreter.git repozitář a přepnete na větev VS15.3;
  3. doinstalujete tools, CMSIS a kryptografické knihovny dle postupu na GitHubu;
  4. spustíte Developer Command Prompt for VS 2017 — narozdíl od předchozích verzí studia, tentokrát je nutné spouštět kompilaci z vývojářské příkazové řádky konkrétní instance Visual Studia, jinak kompilace skončí chybou ERROR: Visual Studio 2017 SDK (VSSDK) was not detected, this SDK is required to build the .NET Micro Framework SDK source code;
  5. v příkazové řádce spustíte build_sdk.cmd.

V případě úspěšné kompilace najdete instalátor v %SPOCLIENT%\BuildOutput\public\Release\Server\msm\MicroFrameworkSDK.MSI a rozšíření pro Visual Studio v %SPOCLIENT%\BuildOutput\public\Release\Server\dll\NetmfVS15.vsix (je potřeba nainstalovat oba soubory).

Druhá varianta je použít instalátor, který jsem již zkompiloval:

MSI file VS2017MF44RTW.MSI (15 MB) VSIX fileVS2017MF44RTW.VSIX (3.15 MB)
jako bonus tento VSIX obsahuje i aktualizované ikonky a názvy :-)

.NET Micro Framework 4.3 ve Visual Studiu 2017

To je všechno pěkné, ale většina hardware co mám je 4.3. Bohužel, podpora starších verzí .NET Micro Frameworku byla ve verzi 4.4 z instalátoru odebrána:

Není však třeba zoufat, jelikož .NET Micro Framework samotný a podpora Visual Studia byly již odděleny v minulé verzi. Stačí tedy doinstalovat .NET Micro Framework 4.3 SDK (jen MSI), a rázem máme podporu předchozích verzí zpět:

Následující postup již není nutný, přidal jsem vše potřebné pro verze 3.0—4.3 do rozšíření výše.

Poslední zádrhel, který zbývá vyřešit je, že tyto starší verze ve skutečnosti ve Visual Studiu 2017 nefungují. Když projekt přepnete na některou ze starších verzí, objeví se sice varování, ale příliš užitečná nejsou:

MSI instalátor se totiž skládá ze dvou částí. Jednak nainstaluje všechny potřebné knihovny, emulátor (a např. i zmíněný Microsoft.SPOT.Tasks.dll) do Program Files, typicky %PROGRAMFILES(X86)%\Microsoft .NET Micro Framework, a za druhé nainstaluje konfigurační a projektové soubory pro msbuild, ty typicky do %PROGRAMFILES(X86)%\MSBuild\Microsoft\.NET Micro Framework. Problém spočívá v tom, že Visual Studio 2017 již na tuto sdílenou složku pro msbuild neodkazuje, nýbrž má každá instance svou vlastní složku. Tam tedy musíme soubory dopravit ručně.

Trik spočívá v tom zjistit, kde se vaše instance na disku nachází. Cílem je najít něco jako C:\Program Files (X86)\Microsoft Visual Studio\[název instance]\[edice]\MSBuild\Microsoft\.NET Micro Framework\v4.4. Pak už jen zbývá překopírovat knihovny pro ostatní verze vedle v4.4, tj. všechny knihovny z %PROGRAMFILE(X86)%\MSBuild\Microsoft\.NET Micro Framework.

Tip: Spuštěním Environment.GetEnvironmentVariable("VSAPPIDDIR") v okně C# Interactive ve Visual Studiu vám napoví, kde na disku tuto instanci hledat.

A je to, veselé mikroprogramování!

Comments
Comment Tom 08.08.2018 0:00:00
used the precompiled ones, they work like a charm Thank you so much for your effort in making this happen!
Comment Heinrich B 22.08.2018 4:40:33
Also uses precompiled MSI and rest of instructions. Worked well, thanks
Comment Chris 01.10.2019 21:42:50
Dim MyComment As String = "1000 * Thanks"
Sign in using Live ID to be able to post comments.