This repository is for generating the Microsoft.IoT.Lightning Nuget package. This package contains code which is compiled into the maker's application which can be deployed to a board running Microsoft Windows IoT Core.
The nuget package is also published periodically to nuget.org. For more information on installing the published nuget package, please refer to https://www.nuget.org/packages/Microsoft.IoT.Lightning/
Additionally, Microsoft.IoT.Lightning depends on Microsoft.IoT.SDKFromArduino nuget package, which contains source files written by the Arduino community. Together these packages ensure compatibility with existing sketches running on Microsoft Windows. For more information on the Arduino SDK, please visit the arduino-sdk GittHub repository.
##Build the Nuget package Please download the Nuget command line utility nuget.exe into the lightning and arduino-sdk .\source folders. Run the Nuget package builder from the .\source folder:
build-nupkg.cmd
###Nuget Package sources
In order to install nuget packages from your local builds, you'll need to add both the lightning nuget and arduino-sdk to the nuget package manager sources. Following the below instructions for each sdk source:
For Visual Studio Express, nativate to Tools -> Nuget Package Manager -> Package Manager Settings For Other editions of Visual Studio, nativate to Tools -> Library Package Manager -> Package Manager Settings
- Click the "+" button to add a new source
- Set the name to something descriptive
- Click the "..." button and navigate to your local sources directory (.\source folder)
- Click the "Update" button to save the Package Sources changes
###Nuget Package Manager
In order to install prerelease (current) version of Lightning as well as receive prerelease updates to the Lightning package, make sure to set the "Include prerelease" option in the Nuget Package Manager.
- Right click References in your project
- Click "Manager Nuget Packages..."
- Select package sources for Lightning nuget
- Click "Include prerelease".
- Click "Install" to install the nuget package to your project
###Add required UWP Extensions
The IOT and Desktop UWP SDK Extensions are both required for building Lightning applications.
- Right click "References" in your Visual C++ UWP Project
- Choose "Add Reference..."
- Open Universal Windows | Extensions
- Choose Both "Windows Desktop Extensions for the UWP" and "Windows IoT Extensions for the UWP".
###Update Application Package manifest
Also, you need to update the Application Package manifest manually to reference the Lightning device interface.
- Right click "Package.appxmanifest" in your Visual C++ UWP Project
- Click "Open With.."
- In the "Open With" dialog box, choose XML (Text) Editor and click OK
- Edit the the Capabilities section in your application to add the following:
<iot:Capability Name="lowLevelDevices" />
<DeviceCapability Name="109b86ad-f53d-4b76-aa5f-821e2ddf2141"/>
- The first is a capability that will enable the application to access custom devices.
- The second is the device guid id for the Lightning interface
- Save the file
Build your project to verify all prerequisites to use Lightning were successfully added.