.NET Micro Framework 4.2 i problem z emulatorem w Visual Studio 2012

04.01.2014

Ostatnio intensywnie pracuję w .NET Micro Framework. Na tyle intensywnie, że pokusiłem się o stworzenie emulatora do urządzenia, dla którego piszę oprogramowanie. Przykładowy emulator znalazłem w katalogu przykładów dołączonych do .NET Micro Framework, zaś wiedzę uzupełniłem lekturą rozdziału poświęconego emulacji z tej książki.

Emulator ma postać aplikacji, której klasa Program dziedziczy po klasie Emulator z Microsoft.SPOT.Emulator. Dodatkowo należy stworzyć odpowiedni plik konfiguracyjny opisujący emulowane urządzenie (ilość pamięci, IO, LCD, itd.). Teraz wystarczy stworzyć interfejs użytkownika w WinForms, podłączyć odpowiednie zdarzenia do sygnałów wejść/wyjść, skompilować i jednocześnie zarejestrować emulator w systemie. Rejestracja w systemie umożliwia wgranie testowanego programu .NET Micro Framework do naszego emulatora. Po skompilowaniu emulator powinien pojawić się na liście dostępnych urządzeń w Visual Studio we właściwościach projektu:

image

Niestety w Visual Studio 2012, korzystając z .NET Framework 4.2 (lub nowszego), podczas kompilacji emulator nie jest rejestrowany w systemie, a tym samym nie pojawia się na liście Device. Na szczęście można sobie z tym poradzić, ręcznie rejestrując emulator. Wystarczy stworzyć plik nazwa.reg o następującej treści i uruchomić go:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\.NETMicroFramework\v4.2\Emulators\{$GUID2$}]
"Name"="Smart.Panel.Emu"
"Path"="C:\\sciezka\\do\\aplikacji\\bin\\Debug\\Smart.Panel.Emu.exe"

Teraz na liście urządzeń powinien pojawić się nasz emulator.

image