{"id":2404,"date":"2019-05-07T09:24:31","date_gmt":"2019-05-07T01:24:31","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/iotdev\/?p=2404"},"modified":"2019-05-07T11:14:56","modified_gmt":"2019-05-07T03:14:56","slug":"easily-develop-and-debug-azure-iot-edge-modules-with-azure-iot-edge-tools%e2%80%afpreview%e2%80%affor%e2%80%afraspberry-pi-in-visual-studio-2017","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/iotdev\/easily-develop-and-debug-azure-iot-edge-modules-with-azure-iot-edge-tools%e2%80%afpreview%e2%80%affor%e2%80%afraspberry-pi-in-visual-studio-2017\/","title":{"rendered":"Easily develop and debug Azure IoT Edge modules with Azure IoT Edge Tools\u202f(Preview)\u202ffor\u202fRaspberry Pi in Visual Studio 2017"},"content":{"rendered":"<p><span class=\"TextRun SCXW126246277 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW126246277 BCX0\">With\u202f<\/span><\/span><span class=\"TextRun SCXW126246277 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW126246277 BCX0\">0.4.5<\/span><\/span><span class=\"TextRun SCXW126246277 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW126246277 BCX0\">\u202frelease of\u202f<\/span><\/span><a class=\"Hyperlink SCXW126246277 BCX0\" href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=vsc-iot.vsiotedgetools\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"TextRun Underlined SCXW126246277 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW126246277 BCX0\">Azure IoT Edge Tools (Preview) for Visual Studio 2017<\/span><\/span><\/a><span class=\"TextRun SCXW126246277 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW126246277 BCX0\">,\u202fthe tool has provided\u202fa rich set of functionalities to support development of IoT Edge\u202fsolutions in Visual Studio 2017:\u202f<img decoding=\"async\" class=\"alignnone size-full wp-image-2411\" src=\"https:\/\/devblogs.microsoft.com\/iotdev\/wp-content\/uploads\/sites\/24\/2019\/05\/raspi-marketplace.png\" alt=\"\" width=\"1024\" height=\"256\" srcset=\"https:\/\/devblogs.microsoft.com\/iotdev\/wp-content\/uploads\/sites\/24\/2019\/05\/raspi-marketplace.png 1024w, https:\/\/devblogs.microsoft.com\/iotdev\/wp-content\/uploads\/sites\/24\/2019\/05\/raspi-marketplace-300x75.png 300w, https:\/\/devblogs.microsoft.com\/iotdev\/wp-content\/uploads\/sites\/24\/2019\/05\/raspi-marketplace-768x192.png 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/span><\/span><span class=\"EOP SCXW126246277 BCX0\" data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559740&quot;:240}\">\u00a0<\/span><\/p>\n<ul>\n<li>New Azure IoT Edge project targeting different platforms (Linux amd64, Linux arm32v7, Windows amd64)<\/li>\n<li>Add a new IoT Edge module (C#\/C) to solution<\/li>\n<li>Edit, build and debug IoT Edge modules locally on your Visual Studio machine<\/li>\n<li>Build and push docker images of IoT Edge modules<\/li>\n<li>Run IoT Edge modules in a local or remote simulator<\/li>\n<li>Deploy IoT solutions\u00a0to IoT Edge devices (with\u00a0<a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=ms-azuretools.CloudExplorerForVS\">Cloud Explorer<\/a>)<\/li>\n<\/ul>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-2415\" src=\"https:\/\/devblogs.microsoft.com\/iotdev\/wp-content\/uploads\/sites\/24\/2019\/05\/raspi-tutorial.gif\" alt=\"\" width=\"1733\" height=\"976\" \/><\/p>\n<p>In the\u00a0latest\u00a0release, we\u2019ve added the support for new platform arm32v7. Next, we\u2019ll walk you through how to use Visual Studio 2017 to create, build, debug and deploy IoT Edge solutions for your <strong>Raspberry Pi<\/strong> as\u00a0an\u00a0IoT Edge device.\u00a0Please refer the following tutorial links if you want to run IoT Edge on Linux amd64 or Windows amd64:<\/p>\n<p><a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/iot-edge\/how-to-visual-studio-develop-module\" target=\"_blank\" rel=\"noopener\">Use Visual Studio 2017 to develop and debug modules for Azure IoT Edge (Preview)<\/a><\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/iotdev\/easily-develop-and-debug-azure-iot-edge-c-modules-with-azure-iot-edge-tools-preview-0-3-1\/\" target=\"_blank\" rel=\"noopener\">Easily\u202fDevelop and\u202fDebug Azure\u202fIoT Edge C Modules with Azure IoT Edge Tools<\/a><\/p>\n<h3>Prerequisites<\/h3>\n<h4>Setup your Raspberry Pi<\/h4>\n<ul>\n<li>Install\u00a0<a href=\"https:\/\/www.raspberrypi.org\/downloads\/raspbian\/\">Raspbian<\/a> on your Raspberry Pi by following this\u00a0<a href=\"https:\/\/www.raspberrypi.org\/documentation\/installation\/installing-images\/\">tutorial<\/a>.<\/li>\n<li>Setup your Raspberry Pi as an IoT Edge device \u2013 Follow the instructions to install\u00a0<a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/iot-edge\/how-to-install-iot-edge-linux-arm\">Azure IoT Edge runtime on Linux(arm32v7\/armhf)<\/a>.<\/li>\n<li>Enable remote API for\u00a0dockerdon Raspberry Pi:\n<ul>\n<li><em>sudo<\/em><em>nano<\/em><em>\u00a0\/lib\/<\/em><em>systemd<\/em><em>\/system\/<\/em><em>service<\/em>\u00a0to append\u00a0-H tcp:\/\/0.0.0.0:2375\u00a0at the line starting with \u201cExecStart\u201d:\nExecStart=\/usr\/bin\/dockerd\u00a0-H fd:\/\/\u00a0<strong>-H tcp:\/\/0.0.0.0:2375\u00a0<\/strong><\/li>\n<li><em>sudo<\/em><em>systemctl<\/em><em>\u00a0daemon-reload<\/em><\/li>\n<li><em>sudo<\/em><em>systemctl<\/em><em>\u00a0restart docker<\/em><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li><a href=\"https:\/\/docs.docker.com\/install\/linux\/linux-postinstall\/\">Manage Docker as a non-root user<\/a> on your Raspberry Pi, so that you don\u2019t need to preface the docker command with sudo.<\/li>\n<\/ul>\n<h4>Setup your development machine<\/h4>\n<ul>\n<li>OS: Windows 10<\/li>\n<li>Visual Studio 2017 with update 7 or later, including workloads \u201c.NET desktop development\u201d and \u201cAzure development workload\u201d; you should include \u201cWindows desktop development with C++\u201d as well if you plan to develop C modules.<\/li>\n<li>Download and install\u00a0<a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=vsc-iot.vsiotedgetools\">Azure IoT Edge extension (Preview) for Visual Studio.<\/a><\/li>\n<li>To use Docker Desktop for Windows, download and install\u00a0<a href=\"https:\/\/hub.docker.com\/editions\/community\/docker-ce-desktop-windows\">Docker Desktop for Windows<\/a>.<\/li>\n<li>Set up your local development environment to debug, run, and test your IoT Edge solution by installing the\u00a0<a href=\"https:\/\/pypi.org\/project\/iotedgehubdev\/\">Azure IoT EdgeHub Dev Tool<\/a>. Install\u00a0<a href=\"https:\/\/www.python.org\/\">Python (2.7\/3.6) and Pip\u00a0<\/a>and then install the\u00a0<strong>iotedgehubdev<\/strong>\u00a0package by running the following command in your terminal. Make sure your Azure IoT EdgeHub Dev Tool version is at least 0.8.0.<\/li>\n<li>Upgrade Cloud Explorer to latest version by downloading and installing <a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=ms-azuretools.CloudExplorerForVS\">Cloud Explorer for Visual Studio 2017.<\/a><\/li>\n<\/ul>\n<h3>Configure the extension settings<\/h3>\n<ol>\n<li>Copy the connection string of any IoT Edge device from\u00a0<strong>Primary Connection String\u00a0<\/strong>in the Visual Studio Cloud Explorer. Be sure not to copy the connection string of a non-Edge device, as the icon of an IoT Edge device is different from the icon of a non-Edge device.\n<img decoding=\"async\" class=\"alignnone size-full wp-image-2407\" src=\"https:\/\/devblogs.microsoft.com\/iotdev\/wp-content\/uploads\/sites\/24\/2019\/05\/raspi-deviceconnstring.png\" alt=\"\" width=\"261\" height=\"362\" srcset=\"https:\/\/devblogs.microsoft.com\/iotdev\/wp-content\/uploads\/sites\/24\/2019\/05\/raspi-deviceconnstring.png 261w, https:\/\/devblogs.microsoft.com\/iotdev\/wp-content\/uploads\/sites\/24\/2019\/05\/raspi-deviceconnstring-216x300.png 216w\" sizes=\"(max-width: 261px) 100vw, 261px\" \/><\/li>\n<li>Open Visual Studio 2017 and click menu <strong>Tools -&gt; Azure IoT Edge Tools -&gt; Setup IoT Edge Simulator<\/strong>, input the connection string you just copied from step 1.<\/li>\n<li>Open Visual Studio 2017, click menu\u00a0<strong>Tools-&gt;Azure IoT Edge Tools -&gt; IoT Edge Tools Settings<\/strong>, set DOCKER_HOST as\u00a0IP\u00a0and\u00a0port\u00a0of\u00a0your Raspberry Pi as below, for example it is tcp:\/\/10.172.14.127:2375\u00a0for my Raspberry Pi:\n<img decoding=\"async\" class=\"alignnone size-full wp-image-2408\" src=\"https:\/\/devblogs.microsoft.com\/iotdev\/wp-content\/uploads\/sites\/24\/2019\/05\/raspi-dockerhost.png\" alt=\"\" width=\"1024\" height=\"717\" srcset=\"https:\/\/devblogs.microsoft.com\/iotdev\/wp-content\/uploads\/sites\/24\/2019\/05\/raspi-dockerhost.png 1024w, https:\/\/devblogs.microsoft.com\/iotdev\/wp-content\/uploads\/sites\/24\/2019\/05\/raspi-dockerhost-300x210.png 300w, https:\/\/devblogs.microsoft.com\/iotdev\/wp-content\/uploads\/sites\/24\/2019\/05\/raspi-dockerhost-768x538.png 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/li>\n<\/ol>\n<h3>Create IoT Edge project<\/h3>\n<ol>\n<li>Open Visual Studio 2017, click menu <strong>File -&gt; New -&gt; Project<\/strong>.<\/li>\n<li>In the\u00a0<strong style=\"font-size: 1rem;\">New Project<\/strong><span style=\"font-size: 1rem;\">\u00a0dialog, select\u00a0<\/span><strong style=\"font-size: 1rem;\">Installed -&gt; Azure IoT<\/strong><span style=\"font-size: 1rem;\">, select\u00a0<\/span><strong style=\"font-size: 1rem;\">Azure IoT Edge (Linux arm32v7)<\/strong><span style=\"font-size: 1rem;\">, enter a name for your project and specify the location, and then select\u00a0<\/span><strong style=\"font-size: 1rem;\">OK<\/strong><span style=\"font-size: 1rem;\">. The default project name is\u00a0<\/span><strong style=\"font-size: 1rem;\">AzureIotEdgeAppN <\/strong>where N is number<span style=\"font-size: 1rem;\">.\n<img decoding=\"async\" class=\"alignnone size-full wp-image-2413\" src=\"https:\/\/devblogs.microsoft.com\/iotdev\/wp-content\/uploads\/sites\/24\/2019\/05\/raspi-newproject.png\" alt=\"\" width=\"1430\" height=\"893\" srcset=\"https:\/\/devblogs.microsoft.com\/iotdev\/wp-content\/uploads\/sites\/24\/2019\/05\/raspi-newproject.png 1430w, https:\/\/devblogs.microsoft.com\/iotdev\/wp-content\/uploads\/sites\/24\/2019\/05\/raspi-newproject-300x187.png 300w, https:\/\/devblogs.microsoft.com\/iotdev\/wp-content\/uploads\/sites\/24\/2019\/05\/raspi-newproject-768x480.png 768w, https:\/\/devblogs.microsoft.com\/iotdev\/wp-content\/uploads\/sites\/24\/2019\/05\/raspi-newproject-1024x639.png 1024w\" sizes=\"(max-width: 1430px) 100vw, 1430px\" \/>\n<\/span><\/li>\n<li>In the project wizard, select <strong>C# Module<\/strong>, replace\u00a0<strong>localhost:5000\u00a0<\/strong>with your own registry info, then click\u00a0<strong>Yes<\/strong>:\n<img decoding=\"async\" class=\"alignnone size-full wp-image-2412\" src=\"https:\/\/devblogs.microsoft.com\/iotdev\/wp-content\/uploads\/sites\/24\/2019\/05\/raspi-newmodule.png\" alt=\"\" width=\"873\" height=\"607\" srcset=\"https:\/\/devblogs.microsoft.com\/iotdev\/wp-content\/uploads\/sites\/24\/2019\/05\/raspi-newmodule.png 873w, https:\/\/devblogs.microsoft.com\/iotdev\/wp-content\/uploads\/sites\/24\/2019\/05\/raspi-newmodule-300x209.png 300w, https:\/\/devblogs.microsoft.com\/iotdev\/wp-content\/uploads\/sites\/24\/2019\/05\/raspi-newmodule-768x534.png 768w\" sizes=\"(max-width: 873px) 100vw, 873px\" \/><\/li>\n<li>Now there\u2019re two projects in the solution, one is Edge module project, which is just simple .Net Core project, the other is called Edge project.<\/li>\n<li>There\u2019re two ways to add a new IoT Edge module to an existing IoT Edge project. The\u00a0first way is to right click on IoT Edge project to open context menu, then select\u00a0<strong>Add -&gt; New IoT Edge Module<\/strong>; the second way is to right click on\u00a0<strong>Modules\u00a0<\/strong>node of IoT Edge project, then select\u00a0<strong>Add -&gt; New IoT Edge Module<\/strong>.\n<img decoding=\"async\" class=\"alignnone size-full wp-image-2406\" src=\"https:\/\/devblogs.microsoft.com\/iotdev\/wp-content\/uploads\/sites\/24\/2019\/05\/raspi-addmodulefromproject.png\" alt=\"\" width=\"864\" height=\"432\" srcset=\"https:\/\/devblogs.microsoft.com\/iotdev\/wp-content\/uploads\/sites\/24\/2019\/05\/raspi-addmodulefromproject.png 864w, https:\/\/devblogs.microsoft.com\/iotdev\/wp-content\/uploads\/sites\/24\/2019\/05\/raspi-addmodulefromproject-300x150.png 300w, https:\/\/devblogs.microsoft.com\/iotdev\/wp-content\/uploads\/sites\/24\/2019\/05\/raspi-addmodulefromproject-768x384.png 768w\" sizes=\"(max-width: 864px) 100vw, 864px\" \/><\/li>\n<\/ol>\n<h3>Build and debug C# module locally<\/h3>\n<p>To build and debug C# module locally, first set the Edge project as default project, then click <strong>F5<\/strong>, in the background we\u2019ll start IoT Edge simulator on your local dev machine, the module project will be started as local process to communicate with IoT Edge simulator. You may set one breakpoint in Program.cs of IotEdgeModule1 project, the breakpoint should be hit as below:\n<img decoding=\"async\" class=\"alignnone size-full wp-image-2410\" src=\"https:\/\/devblogs.microsoft.com\/iotdev\/wp-content\/uploads\/sites\/24\/2019\/05\/raspi-localdebug.png\" alt=\"\" width=\"1211\" height=\"534\" srcset=\"https:\/\/devblogs.microsoft.com\/iotdev\/wp-content\/uploads\/sites\/24\/2019\/05\/raspi-localdebug.png 1211w, https:\/\/devblogs.microsoft.com\/iotdev\/wp-content\/uploads\/sites\/24\/2019\/05\/raspi-localdebug-300x132.png 300w, https:\/\/devblogs.microsoft.com\/iotdev\/wp-content\/uploads\/sites\/24\/2019\/05\/raspi-localdebug-768x339.png 768w, https:\/\/devblogs.microsoft.com\/iotdev\/wp-content\/uploads\/sites\/24\/2019\/05\/raspi-localdebug-1024x452.png 1024w\" sizes=\"(max-width: 1211px) 100vw, 1211px\" \/><\/p>\n<h3>Build and push C# images<\/h3>\n<ol>\n<li>Right click on the Edge project to open context menu, then click men <strong>Properties<\/strong>, select <strong>Configuration Properties <\/strong>in the pop-up window, make sure you select <strong>Release<\/strong> for <strong>Target Configuration<\/strong>, click <strong>OK<\/strong> to close the window, then click menu &#8220;<strong>File -&gt;<\/strong>\u00a0<strong>Save All<\/strong>&#8221;\u00a0to make sure the configuration change is written into project file.<\/li>\n<li>If you\u2019re using private registry like Azure Container Registry, use the following Docker command to sign in to it.\n<em style=\"font-size: 1rem;\">docker login -u &lt;ACR username&gt; -p &lt;ACR password&gt; &lt;ACR login server&gt;<\/em><\/li>\n<li>Click <strong>Show All Files<\/strong> icon as below, a <strong>.env <\/strong>file should be displayed under Edge project, open the .env file to input credential for your registry, this credential will be used by IoT Edge run time to pull module images after deployment.\n<img decoding=\"async\" class=\"alignnone size-full wp-image-2409\" src=\"https:\/\/devblogs.microsoft.com\/iotdev\/wp-content\/uploads\/sites\/24\/2019\/05\/raspi-envvariables.png\" alt=\"\" width=\"1245\" height=\"461\" srcset=\"https:\/\/devblogs.microsoft.com\/iotdev\/wp-content\/uploads\/sites\/24\/2019\/05\/raspi-envvariables.png 1245w, https:\/\/devblogs.microsoft.com\/iotdev\/wp-content\/uploads\/sites\/24\/2019\/05\/raspi-envvariables-300x111.png 300w, https:\/\/devblogs.microsoft.com\/iotdev\/wp-content\/uploads\/sites\/24\/2019\/05\/raspi-envvariables-768x284.png 768w, https:\/\/devblogs.microsoft.com\/iotdev\/wp-content\/uploads\/sites\/24\/2019\/05\/raspi-envvariables-1024x379.png 1024w\" sizes=\"(max-width: 1245px) 100vw, 1245px\" \/><\/li>\n<li>Right click on the Edge project and select <strong>Build and Push Edge Modules<\/strong> to build and push the Docker image for the C# module. After running this command, the deployment manifest will be generated as well in <strong>config<\/strong> folder under the Edge project.<\/li>\n<\/ol>\n<h3>Deploy the solution<\/h3>\n<p>You can deploy modules using Could Explorer for Visual Studio. After finishing the above steps, you should have <strong>deployment.arm32v7.json<\/strong>.<\/p>\n<ol>\n<li>Open\u202f<strong>Cloud Explorer<\/strong>\u202fby clicking\u202f<strong>View<\/strong>\u202f-&gt;\u202f<strong>Cloud Explorer<\/strong>. Make sure you\u2019ve logged in\u00a0toVisual Studio 2017.<\/li>\n<li>In\u00a0<strong>Cloud Explorer<\/strong>, expand your subscription, find your Azure IoT Hub and the Azure IoT Edge device you want to deploy.\n<img decoding=\"async\" class=\"alignnone size-full wp-image-2414\" src=\"https:\/\/devblogs.microsoft.com\/iotdev\/wp-content\/uploads\/sites\/24\/2019\/05\/raspi-selectedgedevice.png\" alt=\"\" width=\"368\" height=\"756\" srcset=\"https:\/\/devblogs.microsoft.com\/iotdev\/wp-content\/uploads\/sites\/24\/2019\/05\/raspi-selectedgedevice.png 368w, https:\/\/devblogs.microsoft.com\/iotdev\/wp-content\/uploads\/sites\/24\/2019\/05\/raspi-selectedgedevice-146x300.png 146w\" sizes=\"(max-width: 368px) 100vw, 368px\" \/><\/li>\n<li>Right-click on the IoT Edge device to create a deployment\u00a0forit, you need to select the deployment manifest file under the\u202f<em>$<\/em><em>AzureIoTEdgeAppSolutionDir<\/em><em>\\<\/em><em>$AzureIotEdgeAppX<\/em><em>\\config\\deployment.arm32v7.json.<\/em><\/li>\n<li>Click the refresh button to see the new modules running along with the <strong>TempSensor\u00a0<\/strong>module and\u00a0<strong>$<\/strong><strong>edgeAgent<\/strong>\u00a0and\u00a0<strong>$<\/strong><strong>edgeHub<\/strong>.\n<img decoding=\"async\" class=\"alignnone size-full wp-image-2416\" src=\"https:\/\/devblogs.microsoft.com\/iotdev\/wp-content\/uploads\/sites\/24\/2019\/05\/raspi-viewmodules.png\" alt=\"\" width=\"368\" height=\"571\" srcset=\"https:\/\/devblogs.microsoft.com\/iotdev\/wp-content\/uploads\/sites\/24\/2019\/05\/raspi-viewmodules.png 368w, https:\/\/devblogs.microsoft.com\/iotdev\/wp-content\/uploads\/sites\/24\/2019\/05\/raspi-viewmodules-193x300.png 193w\" sizes=\"(max-width: 368px) 100vw, 368px\" \/><\/li>\n<\/ol>\n<h4>View generated data<\/h4>\n<ol>\n<li>To monitor the D2C message\u00a0for a specific device in Cloud Explorer, select the device in the list and then click <strong>Start Monitoring D2C Messages<\/strong>\u202fin the\u202f<strong>Action <\/strong>window.<\/li>\n<li>To stop monitoring data, select the device in the list and then select\u00a0<strong>Stop Monitoring D2C Messages<\/strong>\u202fin the\u202f<strong>Action<\/strong>\u00a0window.<\/li>\n<\/ol>\n<p>Please don\u2019t hesitate to <a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=vsc-iot.vsiotedgetools\">get it a try<\/a>. Your feedback and suggestions are very important for us to keep improving and making it even easier to develop your IoT applications. Please share your thoughts with us by suggesting a feature or reporting an issue in our\u00a0<a href=\"https:\/\/github.com\/Microsoft\/vs-azure-iot-edge-docs\">Visual Studio Azure IoT Edge Tools repo<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>With\u202f0.4.5\u202frelease of\u202fAzure IoT Edge Tools (Preview) for Visual Studio 2017,\u202fthe tool has provided\u202fa rich set of functionalities to support development of IoT Edge\u202fsolutions in Visual Studio 2017:\u202f\u00a0 New Azure IoT Edge project targeting different platforms (Linux amd64, Linux arm32v7, Windows amd64) Add a new IoT Edge module (C#\/C) to solution Edit, build and debug IoT [&hellip;]<\/p>\n","protected":false},"author":529,"featured_media":1836,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[288],"tags":[164,28,376,536],"class_list":["post-2404","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-azure-iot-edge-development","tag-azure-iot-edge","tag-raspberry-pi","tag-visual-studio","tag-visual-studio-2017"],"acf":[],"blog_post_summary":"<p>With\u202f0.4.5\u202frelease of\u202fAzure IoT Edge Tools (Preview) for Visual Studio 2017,\u202fthe tool has provided\u202fa rich set of functionalities to support development of IoT Edge\u202fsolutions in Visual Studio 2017:\u202f\u00a0 New Azure IoT Edge project targeting different platforms (Linux amd64, Linux arm32v7, Windows amd64) Add a new IoT Edge module (C#\/C) to solution Edit, build and debug IoT [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/iotdev\/wp-json\/wp\/v2\/posts\/2404","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/iotdev\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/iotdev\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/iotdev\/wp-json\/wp\/v2\/users\/529"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/iotdev\/wp-json\/wp\/v2\/comments?post=2404"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/iotdev\/wp-json\/wp\/v2\/posts\/2404\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/iotdev\/wp-json\/wp\/v2\/media\/1836"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/iotdev\/wp-json\/wp\/v2\/media?parent=2404"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/iotdev\/wp-json\/wp\/v2\/categories?post=2404"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/iotdev\/wp-json\/wp\/v2\/tags?post=2404"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}