Department of InformatiX
Microsoft .NET Micro Framework Tools & Resources

Update August 2019: Updated VSIX metadata and included target files for older .NET Micro Framework versions.

I was planning to create an installator that will do everything required. However, months are passing by and nothing is happening, so I decided to just write up what I did manually.

.NET Micro Framework 4.4 and Visual Studio 2017

Visual Studio 2017 new project dialog with .NET Micro Framework 4.4 templates

As some of you might have noticed, I have already published a .NET Micro Framework changes to make it running in Visual Studio 2017 on GitHub in June 2017 - see the VS15.3 branch. So you can either compile your own installer following these steps:

  1. make sure your favorite Visual Studio instance is of version 15.3 or newer, and has the Desktop development with C++ workload installed, as well as VC++ tools, that individual component is called VC++ 2017 version 15.8 v14.15 latest v141 tools in version 15.8;
  2. clone the repository and checkout the VS15.3 branch;
  3. install tools, CMSIS and the cryptographic libraries as explained on GitHubu;
  4. run the Developer Command Prompt for VS 2017 — unlike in previous versions, the compilation has to be started from a developer command prompt of a particular Visual Studio instance, otherwise it will end up with ERROR: Visual Studio 2017 SDK (VSSDK) was not detected, this SDK is required to build the .NET Micro Framework SDK source code;
  5. execute build_sdk.cmd in the command prompt.

Should the compilation be succesful, you can find the installer at %SPOCLIENT%\BuildOutput\public\Release\Server\msm\MicroFrameworkSDK.MSI and the Visual Studio extension at %SPOCLIENT%\BuildOutput\public\Release\Server\dll\NetmfVS15.vsix (you need to install both of these).

The other option is to use an installer I have already compiled for you:

MSI file VS2017MF44RTW.MSI (15 MB) VSIX fileVS2017MF44RTW.vsix (3.15 MB)
I have packed some updated icons and names into this VSIX, enjoy!

.NET Micro Framework 4.3 and Visual Studio 2017

That's all nice and great, but most of my hardware runs 4.3. Unfortunately, the support of older .NET Micro Framework versions has been removed from the installer in 4.4:

However, the .NET Micro Framework and Visual Studio support has been already separated in the previous version, so you only need to install the .NET Micro Framework 4.3 SDK (just the MSI), and you get the support back:

The following step is no longer necessary, I added all target files fo versions 3.0 to the extension above.

The last problem to solve is that the older targets don't actually work in Visual Studio 2017. When you switch to one of them, you get a not-very-helpful warning:

The MSI installer comprises two parts. First, it install all the assemblies, emulator (as well as the mentioned Microsoft.SPOT.Tasks.dll) into Program Files, usually %PROGRAMFILES(X86)%\Microsoft .NET Micro Framework, and second, it installs the target files for msbuild, usually into %PROGRAMFILES(X86)%\MSBuild\Microsoft\.NET Micro Framework. The problem is that Visual Studio 2017 does not refer to this shared msbuild folder anymore as every instance has now its own folder. That's where we have to deliver the target files.

The trick is to find where on disk the instance is. The idea is to find something like C:\Program Files (X86)\Microsoft Visual Studio\[instance name]\[edition]\MSBuild\Microsoft\.NET Micro Framework\v4.4. Last step is to copy all the folders for older versions next to it, i.e. all the folders from %PROGRAMFILES(X86)%\MSBuild\Microsoft\.NET Micro Framework.

Tip: executing Environment.GetEnvironmentVariable("VSAPPIDDIR") in the C# Interactive window in Visual Studio will give you a hint where to look for that instance on the disk.

That's it, happy microprogramming!

Comment Tom 8/8/2018 12:00:00 AM
used the precompiled ones, they work like a charm Thank you so much for your effort in making this happen!
Comment Heinrich B 8/22/2018 4:40:33 AM
Also uses precompiled MSI and rest of instructions. Worked well, thanks
Comment Chris 10/1/2019 9:42:50 PM
Dim MyComment As String = "1000 * Thanks"
Sign in using Live ID to be able to post comments.