﻿<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://developers.de/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"><channel><title>developers.de</title><link />http://developers.de/blogs/<description></description><dc:language>en-US</dc:language><generator>CommunityServer 2008 SP1 (Build: 30619.63)</generator><item><title>How to create and publish nuget symbol packages</title><link />http://developers.de/blogs/holger_vetter/archive/2017/10/27/how-to-create-and-publish-nuget-symbol-packages.aspx<pubdate>Fri, 27 Oct 2017 09:39:12 GMT</pubdate><guid ispermalink="false">7e491611-45ad-4dae-a68f-c4cb64439510:1809923</guid><dc:creator>Holger Vetter</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Creating a nuget package with symbols is quite easy.&lt;/p&gt;  &lt;p&gt;You have 2 possible methods to create a nuget package with symbols:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;From nuspec file. &lt;a href="https://docs.microsoft.com/en-us/nuget/create-packages/creating-a-package#creating-the-nuspec-file"&gt;How to create nuspec file.&lt;/a&gt;      &lt;pre&gt;&lt;code&gt;nuget pack MyPackage.nuspec -Symbols
&lt;/code&gt;&lt;/pre&gt;
  &lt;/li&gt;

  &lt;li&gt;From project file.
    &lt;pre&gt;&lt;code&gt;nuget pack MyProject.csproj -Symbols
&lt;/code&gt;&lt;/pre&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Both of the commands will create 2 files &lt;code&gt;{identifier}.symbols.nupkg&lt;/code&gt; and &lt;code&gt;{identifier}.nupkg&lt;/code&gt;.&lt;/p&gt;

&lt;h4&gt;Publishing the nuget package&lt;/h4&gt;

&lt;p&gt;Normally I upload nuget package by just using drag&amp;amp;drop on the nuget &lt;a href="https://www.nuget.org/packages/manage/upload"&gt;upload page&lt;/a&gt;. This doesn&amp;#39;t work with symbol packages, because you have 2 packages in the folder.&lt;/p&gt;

&lt;p&gt;To publish symbol and normal package, you must use the nuget cli.&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;&lt;a href="https://docs.microsoft.com/en-us/nuget/create-packages/publish-a-package"&gt;Get and set your Nuget API key.&lt;/a&gt;&lt;/li&gt;

  &lt;li&gt;Create both (normal + symbol) package. See the 2 possible options above. &lt;/li&gt;

  &lt;li&gt;Run &lt;code&gt;nuget push {identifier}.nupkg -Source https://www.nuget.org/api/v2/package&lt;/code&gt;.

    &lt;br /&gt;This will upload the &lt;code&gt;{identifier}.nupkg&lt;/code&gt; to nuget and &lt;code&gt;{identifier}.symbols.nupkg&lt;/code&gt;to the &lt;a href="http://www.symbolsource.org/Public"&gt;symbol server&lt;/a&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If the uploads were successful, result should look like this:
  &lt;br /&gt;&lt;img alt="27936_symbol_package_upload" src="https://developersde.blob.core.windows.net/usercontent/2017/10/27936_symbol_package_upload.png" width="798" height="128" /&gt;&lt;/p&gt;

&lt;p&gt;Part 2 of this tutorial will show how to use the symbol package to debug trough third party code.&lt;/p&gt;

&lt;p&gt;Sources:
  &lt;br /&gt;&lt;a href="https://docs.microsoft.com/en-us/nuget/create-packages/symbol-packages"&gt;https://docs.microsoft.com/en-us/nuget/create-packages/symbol-packages&lt;/a&gt;

  &lt;br /&gt;&lt;a href="https://docs.microsoft.com/en-us/nuget/create-packages/publish-a-package"&gt;https://docs.microsoft.com/en-us/nuget/create-packages/publish-a-package&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://developers.de/aggbug.aspx?PostID=1809923" width="1" height="1"&gt;</description><category domain="http://developers.de/blogs/holger_vetter/archive/tags/nuget/default.aspx">nuget</category></item><item><title>Load Balancing on Azure</title><link />http://developers.de/blogs/damir_dobric/archive/2017/10/24/load-balancing-on-azure.aspx<pubdate>Tue, 24 Oct 2017 05:57:00 GMT</pubdate><guid ispermalink="false">7e491611-45ad-4dae-a68f-c4cb64439510:1809839</guid><dc:creator>Damir Dobric</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Microsoft Azure support two different kind of Load Balancer configurations. For all internet traffic coming from outside into the Azure you will have to use so called “Internet Facing Load balancer”.&lt;/p&gt;  &lt;p&gt;All traffic between virtual machines hosted in azure is controlled by “Internal Load balancer”. Currently, there are 3 Load Balancers in Azure:&lt;/p&gt;  &lt;p&gt;- Azure Load Balancer    &lt;br /&gt;- Application Gateway     &lt;br /&gt;- Traffic Manager&lt;/p&gt;  &lt;h3&gt;Azure Load Balancer&lt;/h3&gt;  &lt;p&gt;This kind of load balancer supports internet-facing LB and internal LB. It is implemented at Layer 4 and supports any application protocol. It is usually used in conjunction with Azure VNets.&lt;/p&gt;  &lt;p&gt;IF-LB uses so called hash-based distribution algorithm to distribute incoming public traffic as shown at the picture below:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_66F5E142.png"&gt;&lt;img title="image" style="margin-right:auto;margin-left:auto;float:none;display:block;background-image:none;" border="0" alt="image" src="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_thumb_5F00_3BB14A3B.png" width="344" height="327" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The picture shows that traffic is distributed from publish source to internal (in Azure) destination, but it doesn’t describe how.&lt;/p&gt;  &lt;p&gt;This LB supports two different algorithms to distribute the traffic. They are also called &lt;a href="https://docs.microsoft.com/en-us/azure/load-balancer/load-balancer-distribution-mode"&gt;distribution modes&lt;/a&gt;.     &lt;br /&gt;Currently are supported two distribution modes:&lt;/p&gt;  &lt;p&gt;- Hash Based Distribution Mode    &lt;br /&gt;- IP Affinity Distribution Mode&lt;/p&gt;  &lt;h4&gt;Hash Based Distribution Mode&lt;/h4&gt;  &lt;p&gt;It uses (by default) a hash composed over 5 variables:&lt;/p&gt;  &lt;p&gt;- Source IP    &lt;br /&gt;- Source Port     &lt;br /&gt;- Destination IP     &lt;br /&gt;- Destination port     &lt;br /&gt;- Protocol type&lt;/p&gt;  &lt;h4&gt;IP Affinity Distribution Mode&lt;/h4&gt;  &lt;p&gt;IP Affinity mode sticks the session from source to destination. If can be configured to use Source-UP and Destination-IP to set the sticky session. Once the session is established, LB makes sure that all traffic is routed to the same destination.&lt;/p&gt;  &lt;p&gt;In some scenarios affinity mode can be set to use also port number as 3th parameter for affinity session.&lt;/p&gt;  &lt;h3&gt;Application Gateway&lt;/h3&gt;  &lt;p&gt;Application Gateway is a service, which represents so called Application Delivery Controller as a service. It is a gateway with bunch of features in front of some application, which is running behind some dedicated IP address. Because it acts in front of application, it supports various load-balancing features at application level 7. Note that Azure Load balancer is working on lower-level 4.&lt;/p&gt;  &lt;p&gt;Application Gateway supports round robin distribution, cookie-based session affinity, URL path-based routing, and the ability to host multiple websites behind a single gateway endpoint.&lt;/p&gt;  &lt;p&gt;From the architecture point of view, gateway looks same as LB (se previous picture).&lt;/p&gt;  &lt;p&gt;&lt;a href="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_34920DC3.png"&gt;&lt;img title="image" style="margin-right:auto;margin-left:auto;float:none;display:block;background-image:none;" border="0" alt="image" src="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_thumb_5F00_373AC974.png" width="343" height="188" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;But note, that is is running on higher level. Incoming traffic is now HTTP/S and not some proprietary TCP or UDP protocol. Application Gateway is used for load balancing of HTTP, HTTP/S and WebSocket traffic. Because gateway knows everything about application protocols it can provide protocol dedicated features. For example,, this can be SSL offloading (SSL decryption and termination, then routing to application) or URL-based routing.    &lt;br /&gt;Such features are not supported by Load Balancer.&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;It is also remarkable that gateway can set policy for using of dedicated &lt;a href="https://docs.microsoft.com/en-us/azure/application-gateway/application-gateway-ssl-policy-overview"&gt;CipherSuite&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;More over it provides &lt;a href="https://docs.microsoft.com/en-us/azure/application-gateway/application-gateway-web-application-firewall-overview"&gt;Web Application Firewall&lt;/a&gt; as integrative part. Such firewalls protect an application from set of different vulnerabilities defined by &lt;a href="https://www.owasp.org/index.php/Category:OWASP_ModSecurity_Core_Rule_Set_Project"&gt;OWASP&lt;/a&gt; rules. Some of rules are: SQL Injection , Cross Site Scripting , HTTP Protocol Violations and many others.&lt;/p&gt;  &lt;p&gt;For more information about Application Gateway take a look &lt;a href="https://docs.microsoft.com/en-us/azure/application-gateway/application-gateway-introduction"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;h3&gt;Traffic Manager&lt;/h3&gt;  &lt;p&gt;Unlike to Load Balancer and Application Gateway, Traffic Manager uses DNS *Domain Name System) to direct requests. Requests can be directed to various endpoints like VMs, WebApps, Cloud Services or some external services (from Azure point of view). Following picture shows how Traffic Manager looks up the DNS in request and chose some of destination endpoints based on set of routing method rules.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_022E3A44.png"&gt;&lt;img title="image" style="margin-right:auto;margin-left:auto;float:none;display:block;background-image:none;" border="0" alt="image" src="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_thumb_5F00_4BC018F2.png" width="614" height="317" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Core of Traffic Manager is Distribution of traffic according to one of traffic routing methods. For example, if you want to route all your traffic to a single endpoint, but you want to provide a failover endpoint, you will use so called priority routing. If you have 3 destinations, priority routing will chose the destination with highest priority as long it is online. If Primary fails, then next would be Node A, because priority 2 is higher than 3.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_728E2F32.png"&gt;&lt;img title="image" style="margin-right:auto;margin-left:auto;float:none;display:block;background-image:none;" border="0" alt="image" src="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_thumb_5F00_3D81A002.png" width="244" height="109" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;If you want to evenly distribute traffic, you will use weighted routing. In following example traffic will ve evenly distributed to Nodes A and B.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_794138B5.png"&gt;&lt;img title="image" style="margin-right:auto;margin-left:auto;float:none;display:block;background-image:none;" border="0" alt="image" src="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_thumb_5F00_7221FC3D.png" width="244" height="108" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;If your application is installed on different locations some kind of performance-based routing measured by DNS queries might be useful.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_6B02BFC5.png"&gt;&lt;img title="image" style="margin-right:auto;margin-left:auto;float:none;display:block;background-image:none;" border="0" alt="image" src="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_thumb_5F00_11D0D606.png" width="335" height="103" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Traffic Manager looks up the source IP address of the incoming DNS request in the Internet Latency Table. Traffic Manager chooses an available endpoint in the Azure datacenter that has the lowest latency for that IP address range, then returns that endpoint in the DNS response.&lt;/p&gt;    &lt;p&gt;Last, but not leas, you can use routing dependent on geographic region. Depending on from where request do come from, you can chose dedicated endpoints.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_4D906EB9.png"&gt;&lt;img title="image" style="margin-right:auto;margin-left:auto;float:none;display:block;background-image:none;" border="0" alt="image" src="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_thumb_5F00_46713241.png" width="244" height="119" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;For more information about Traffic Manager take a look &lt;a href="https://docs.microsoft.com/en-us/azure/traffic-manager/traffic-manager-routing-methods"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://developers.de/aggbug.aspx?PostID=1809839" width="1" height="1"&gt;</description><category domain="http://developers.de/blogs/damir_dobric/archive/tags/cloud/default.aspx">cloud</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/azure/default.aspx">azure</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/windows+azure/default.aspx">windows azure</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/Microsoft+Azure/default.aspx">Microsoft Azure</category></item><item><title>Kill a process in Windows by Port Number</title><link />http://developers.de/blogs/indraneel/archive/2017/10/18/kill-a-process-in-windows-by-port-number.aspx<pubdate>Wed, 18 Oct 2017 09:20:44 GMT</pubdate><guid ispermalink="false">7e491611-45ad-4dae-a68f-c4cb64439510:1809760</guid><dc:creator>Indraneel Pole</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;While working with Angular projects, a lot of times I forget to kill the running NPM process before closing the command line tool. And then when I want to run the app on same port again it throws me an error that the port is used by some other process. Now, this is just an example, but it is quite possible that this might have happened with you as well while working on some web project. In case you are scratching your head for which command to use to kill the process just by knowing the port number, here is the post that might help you. Well I know this is not that great a problem, but sometimes we spend hours solving the dumbest problems. &lt;img class="wlEmoticon wlEmoticon-smile" style="border-top-style:none;border-left-style:none;border-bottom-style:none;border-right-style:none;" alt="Smile" src="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/indraneel/wlEmoticon_2D00_smile_5F00_40CAAD76.png" /&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;So first you need to find the PID of your process that is running on that specific port. Here is the command that gives you list of all process with port numbers. Shoot this command in command prompt.&lt;/font&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;font size="5"&gt;“netstat -a -o –n”&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;It will show you a similar output -&lt;/font&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/indraneel/image_5F00_0BBE1E46.png"&gt;&lt;img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/indraneel/image_5F00_thumb_5F00_595A4AC6.png" width="392" height="264" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;Now type Ctl + F to find the port that you are looking for. For me, it was 4200. Note the PID of this process in the last column. For me it was 15508&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/indraneel/image_5F00_20436DC4.png"&gt;&lt;img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/indraneel/image_5F00_thumb_5F00_2E15B3BF.png" width="385" height="228" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;Now simply use the command to kill the process by PID -&lt;/font&gt; &lt;/p&gt;  &lt;p&gt;&lt;font size="5"&gt;“taskkill /F /PID 15508”&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="5"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;Make sure to change the PID to your own PID. And that is it. You can run the new process on same port now.&lt;/font&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://developers.de/aggbug.aspx?PostID=1809760" width="1" height="1"&gt;</description></item><item><title>NullReferenceException with more informations (Propertyname)</title><link />http://developers.de/blogs/holger_vetter/archive/2017/10/17/nullreferenceexception-with-more-informations-propertyname.aspx<pubdate>Tue, 17 Oct 2017 08:44:30 GMT</pubdate><guid ispermalink="false">7e491611-45ad-4dae-a68f-c4cb64439510:1809737</guid><dc:creator>Holger Vetter</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Hey,&lt;/p&gt;  &lt;p&gt;this week I saw this exception in Visual Studio 2017 (15.3.5):   &lt;br /&gt;&lt;a href="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/holger_5F00_vetter/clip_5F00_image001_5F00_680CD1DB.png"&gt;&lt;img title="clip_image001" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="clip_image001" src="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/holger_5F00_vetter/clip_5F00_image001_5F00_thumb_5F00_75DF17D6.png" width="322" height="188" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;I was wondering when VS got the feature to display the property(getter) which caused the exception.&lt;/p&gt;  &lt;p&gt;Think the feature is new to VS. If anybody knows when this feature was added to VS, please comment below. :)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://developers.de/aggbug.aspx?PostID=1809737" width="1" height="1"&gt;</description></item><item><title>AGENDA .NETConf in Frankfurt Oct.2017</title><link />http://developers.de/blogs/damir_dobric/archive/2017/10/12/agenda-netconf-in-frankfurt-oct-2017.aspx<pubdate>Thu, 12 Oct 2017 09:54:11 GMT</pubdate><guid ispermalink="false">7e491611-45ad-4dae-a68f-c4cb64439510:1809630</guid><dc:creator>Damir Dobric</dc:creator><slash:comments>0</slash:comments><description>  &lt;p&gt;&lt;a href="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_714D3234.png"&gt;&lt;img title="image" style="display:inline;background-image:none;" border="0" alt="image" src="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_thumb_5F00_46089B2D.png" width="793" height="415" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h4&gt;Covered Topics:&lt;/h4&gt;  &lt;p&gt;.NET Core Intro&lt;/p&gt;  &lt;p&gt;Frameworks and Runtime&lt;/p&gt;  &lt;p&gt;Creating .NET Core Framework Dependent Applications&lt;/p&gt;  &lt;p&gt;Creating .NET Core Self Contained Applications&lt;/p&gt;  &lt;p&gt;.NET Core and Docker&lt;/p&gt;  &lt;p&gt;Creating UI with .NET Core&lt;/p&gt;  &lt;p&gt;.NET Foundation&lt;/p&gt;  &lt;p&gt;.NET Standard and runtimes&lt;/p&gt;  &lt;p&gt;Machine Learning with .NET Core&lt;/p&gt;  &lt;p&gt;HoloLens, Unity3D, and .NET – a Mixed Reality with sprinkles of .NET Core&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://developers.de/aggbug.aspx?PostID=1809630" width="1" height="1"&gt;</description><category domain="http://developers.de/blogs/damir_dobric/archive/tags/Core.Net/default.aspx">Core.Net</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/cloud/default.aspx">cloud</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/azure/default.aspx">azure</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/windows+azure/default.aspx">windows azure</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/Microsoft+Azure/default.aspx">Microsoft Azure</category></item><item><title>Cannot install .NET Core on Ubuntu?</title><link />http://developers.de/blogs/damir_dobric/archive/2017/10/09/cannot-install-net-core-on-ubuntu.aspx<pubdate>Mon, 09 Oct 2017 05:33:00 GMT</pubdate><guid ispermalink="false">7e491611-45ad-4dae-a68f-c4cb64439510:1809525</guid><dc:creator>Damir Dobric</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;When trying to install .NET Core on Ubuntu as described &lt;a href="https://www.microsoft.com/net/core#linuxubuntu"&gt;here&lt;/a&gt;, with following command:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;sudo sh -c &amp;#39;echo &amp;quot;deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-xenial-prod xenial main&amp;quot; &amp;gt; /etc/apt/sources.list.d/dotnetdev.list&amp;#39;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;you might get following error: &lt;/p&gt;  &lt;p&gt;&lt;font color="#ff0000"&gt;&lt;em&gt;Failed to fetch &lt;/em&gt;&lt;/font&gt;&lt;a href="https://packages.microsoft.com/repos/microsoft-ubuntu-xenial-prod/dists/xenial/InRelease"&gt;&lt;font color="#ff0000"&gt;&lt;em&gt;https://packages.microsoft.com/repos/microsoft-ubuntu-xenial-prod/dists/xenial/InRelease&lt;/em&gt;&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;To workaround this issue register feed through HTTP instead of HTTS:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;sudo sh -c &amp;#39;echo &amp;quot;deb [arch=amd64] &lt;font size="3"&gt;http&lt;/font&gt;://packages.microsoft.com/repos/microsoft-ubuntu-xenial-prod xenial main&amp;quot; &amp;gt; /etc/apt/sources.list.d/dotnetdev.list&amp;#39;&lt;/strong&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://developers.de/aggbug.aspx?PostID=1809525" width="1" height="1"&gt;</description><category domain="http://developers.de/blogs/damir_dobric/archive/tags/Core.Net/default.aspx">Core.Net</category></item><item><title>.NET Core Deep Dive</title><link />http://developers.de/blogs/damir_dobric/archive/2017/10/07/net-core-deep-dive.aspx<pubdate>Sat, 07 Oct 2017 09:30:18 GMT</pubdate><guid ispermalink="false">7e491611-45ad-4dae-a68f-c4cb64439510:1809521</guid><dc:creator>Damir Dobric</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Microsoft .NET Conf is partnering with Azure Meetup Frankfurt and will organize around the globe many local in-person events between September 19 through the end of October! &lt;/p&gt;  &lt;p&gt;For more information please refer &lt;a href="https://www.dotnetconf.net/local-events"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;You can join us to learn more about .NET and the new .NET Core 2.0 release.&lt;/p&gt;  &lt;p&gt;We will start at Oct.12 at 4pm and end as usual around 8pm.&lt;/p&gt;  &lt;p&gt;Content will be delivered by:&lt;/p&gt;  &lt;p&gt;- Andreas Erben (&lt;a href="https://www.linkedin.com/in/andreaserben/"&gt;Mixed Reality Architect, MVP&lt;/a&gt;)&lt;/p&gt;  &lt;p&gt;- Andreas Lehmann (Cloud Solution Architect - daenet GmbH)&lt;/p&gt;  &lt;p&gt;- Mofaggol Hoshen (University of Applied Sciences Frankfurt am Main)&lt;/p&gt;  &lt;p&gt;- Sebastian Valero-Graefe (DevOp - daenet GmbH)&lt;/p&gt;  &lt;p&gt;- Jon Galloway (.&lt;a href="https://twitter.com/jongalloway"&gt;NET Foundation executive director&lt;/a&gt; )&lt;/p&gt;  &lt;p&gt;- Damir Dobric (MVP, RD &lt;a href="https://about.me/damirdobric"&gt;https://about.me/damirdobric&lt;/a&gt; )&lt;/p&gt;  &lt;p&gt;&lt;a href="https://twitter.com/jongalloway"&gt;Jon Galloway &lt;/a&gt;.NET Foundation executive director will join us via Skype and talk about .NET Momentum.&lt;/p&gt;  &lt;p&gt;Hope to see you there. We will have some food and drinks and lot of goodies sent from Redmond (T-Shirts, stickers, etc.. :)&lt;/p&gt;  &lt;p&gt;&lt;img src="https://secure.meetupstatic.com/photos/event/6/e/9/b/600_464668315.jpeg" alt="" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;AGENDA&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;1.&amp;#160; .NET Core as Cloud Dev Framework: Why and What?&lt;/p&gt;  &lt;p&gt;2. .NET Standard and runtimes&lt;/p&gt;  &lt;p&gt;3. Creating .NET Core Framework Dependent Applications&lt;/p&gt;  &lt;p&gt;4. Creating .NET Core Self Contained Applications&lt;/p&gt;  &lt;p&gt;5. Deploying and running .NET Core on different operative systems&lt;/p&gt;  &lt;p&gt;6. Creating UI with .NET Core&lt;/p&gt;  &lt;p&gt;7. .NET Core and Containers&lt;/p&gt;  &lt;p&gt;8. Testing .NET Core Applications&lt;/p&gt;  &lt;p&gt;9. HoloLens, Unity3D, and .NET – a Mixed Reality with sprinkles of .NET Core&lt;/p&gt;  &lt;p&gt;10. Machine Learning with .NET Core&lt;/p&gt;  &lt;p&gt;Come together / Dinner&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Please note that you have to provide your valid ID at registration desk at e-Shelter. Usually if all attendees arrive&amp;#160; just few minutes before event, registration might take 15-30 minutes. Please be on time at e-shelter facility.&lt;/b&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://developers.de/aggbug.aspx?PostID=1809521" width="1" height="1"&gt;</description><category domain="http://developers.de/blogs/damir_dobric/archive/tags/Core.Net/default.aspx">Core.Net</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/azure/default.aspx">azure</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/windows+azure/default.aspx">windows azure</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/Microsoft+Azure/default.aspx">Microsoft Azure</category></item><item><title>.NET Core: 'Publish' target is not supported</title><link />http://developers.de/blogs/damir_dobric/archive/2017/09/19/net-core-publish-target-is-not-supported.aspx<pubdate>Tue, 19 Sep 2017 04:35:00 GMT</pubdate><guid ispermalink="false">7e491611-45ad-4dae-a68f-c4cb64439510:1809082</guid><dc:creator>Damir Dobric</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;When you are building Self Contained Deployments, sometimes the publish process cannot resolve the target framework. For example:&lt;/p&gt;  &lt;p&gt;dotnet publish -r win10-x64 &lt;/p&gt;  &lt;p&gt;dotnet publish -r win10-x64 --self-contained &lt;/p&gt;  &lt;p&gt;In this case you will get following error:&lt;/p&gt;  &lt;table cellspacing="0" cellpadding="2"&gt;     &lt;tr&gt;       &lt;td&gt;         &lt;p&gt;&lt;font color="#ff0000"&gt;Error :              &lt;br /&gt;The &amp;#39;Publish&amp;#39; target is not supported without specifying a target framework.               &lt;br /&gt;&lt;/font&gt;&lt;font color="#ff0000"&gt;The current project targets multiple frameworks, please specify the framework for the published application.&lt;/font&gt; &lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/table&gt;  &lt;p&gt;To workaround this error, you have to explicitly specify the target framework.&lt;/p&gt;  &lt;p&gt;dotnet publish -r win10-x64 --self-contained &lt;strong&gt;-f netcoreapp2.0&lt;/strong&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://developers.de/aggbug.aspx?PostID=1809082" width="1" height="1"&gt;</description><category domain="http://developers.de/blogs/damir_dobric/archive/tags/Core.Net/default.aspx">Core.Net</category></item><item><title>.NET Cross-Framework referencing</title><link />http://developers.de/blogs/damir_dobric/archive/2017/09/17/net-cross-framework-referencing.aspx<pubdate>Sun, 17 Sep 2017 15:24:48 GMT</pubdate><guid ispermalink="false">7e491611-45ad-4dae-a68f-c4cb64439510:1809067</guid><dc:creator>Damir Dobric</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Assume, there is a .NET Framework application called &lt;strong&gt;NetDesktopApp&lt;/strong&gt; and .NET Core library &lt;strong&gt;NetCoreLib2&lt;/strong&gt;.    &lt;br /&gt;Further, &lt;strong&gt;NetCoreDesktopApp&lt;/strong&gt; references &lt;strong&gt;NetCoreLib2.     &lt;br /&gt;&lt;/strong&gt; Implementation of &lt;strong&gt;NetCoreLib2&lt;/strong&gt; looks like:&lt;/p&gt;  &lt;table cellspacing="0" cellpadding="2"&gt;     &lt;tr&gt;       &lt;td&gt;         &lt;p&gt;using System;&lt;/p&gt;          &lt;p&gt;namespace NetCoreLib2           &lt;br /&gt; {            &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; public class MyNetCoreLib2            &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; {            &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; public static string Go(long a)            &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {            &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; return a++.ToString();            &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }            &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }            &lt;br /&gt; }&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/table&gt;  &lt;p&gt;Implementation of &lt;strong&gt;NetCoreDesktopApp&lt;/strong&gt; looks like:&lt;/p&gt;  &lt;table cellspacing="0" cellpadding="2"&gt;     &lt;tr&gt;       &lt;td&gt;         &lt;p&gt;namespace NetDesktopApp           &lt;br /&gt; {            &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; class Program            &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; {            &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; static void Main(string[] args)            &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Console.WriteLine(MyNetCoreLib2.Go(DateTime.Now.Ticks));            &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }            &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/table&gt;  &lt;p&gt;When a .NET application starts, then following libraries are loaded.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_5ABB02FB.png"&gt;&lt;img title="image" style="margin:0px;display:inline;background-image:none;" border="0" alt="image" src="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_thumb_5F00_539BC683.png" width="224" height="121" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Please note assembly &lt;strong&gt;netstandard.dll.&lt;/strong&gt; This assembly is implicitly injected in the project by Visual Studio, when .NET Core assembly is referenced. The purpose of that assembly is to do type forwarding.&lt;/p&gt;  &lt;h4&gt;.NET Framework Application&lt;/h4&gt;  &lt;p&gt;Before .NET Core, thinks looked simpler. Typical .NET Framework minimal application loads following assemblies if no .NET Core libraries are referenced.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_0F5B5F37.png"&gt;&lt;img title="image" style="margin:0px;display:inline;background-image:none;" border="0" alt="image" src="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_thumb_5F00_6F405279.png" width="226" height="70" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;As you see, only two assemblies are loaded. Your application and&amp;#160; runtime assembly. If you take a look on such project in VS, you will notice much more assemblies. However they are not loaded if not used.&lt;/p&gt;  &lt;p&gt;.&lt;strong&gt;NET Core Application&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Now, let’s take a look what happen if .NET Core application is loaded. In this case no &lt;strong&gt;mscorelib.dll&lt;/strong&gt; is loaded, because it is not a part of .NET Core. But note, this time &lt;strong&gt;System.Runtime.Dll&lt;/strong&gt; is loaded.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_7D129874.png"&gt;&lt;img title="image" style="display:inline;background-image:none;" border="0" alt="image" src="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_thumb_5F00_48060944.png" width="366" height="197" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;.&lt;strong&gt;NET Core Application with reference to .NET Standard library&lt;/strong&gt;&lt;/p&gt;  &lt;h1&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/h1&gt;  &lt;p&gt;In this case, I have same .NET Core application, which this time references a .NET Standard library. When started .NET Core application will&amp;#160; load one additional assembly &lt;strong&gt;StandardLibrary.dll&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_03C5A1F8.png"&gt;&lt;img title="image" style="display:inline;background-image:none;" border="0" alt="image" src="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_thumb_5F00_1197E7F3.png" width="349" height="194" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;.&lt;strong&gt;NET Core Application with reference to .NET Standard library, which references .NET Framework assembly&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;In this example, I have created .NET Core application (NetCoreApp), which references .NET Core Library (NetCoreLib), which finally references a .NET Framework library (NetDesktopLib2). There is also .NET Framework Library (NetDesktopLib), which is referenced from application too.&lt;/p&gt;  &lt;p&gt;In this case, &lt;strong&gt;System.Rrntime&lt;/strong&gt; is loaded from .NET Core and also &lt;strong&gt;mscorelib&lt;/strong&gt; from .NET Framework.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_23747BC0.png"&gt;&lt;img title="image" style="display:inline;background-image:none;" border="0" alt="image" src="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_thumb_5F00_3146C1BB.png" width="367" height="291" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://developers.de/aggbug.aspx?PostID=1809067" width="1" height="1"&gt;</description><category domain="http://developers.de/blogs/damir_dobric/archive/tags/Core.Net/default.aspx">Core.Net</category></item><item><title>ASP.NET Core Issue: HTTP Error 502.5</title><link />http://developers.de/blogs/damir_dobric/archive/2017/09/14/asp-net-core-issue-http-error-502-5.aspx<pubdate>Thu, 14 Sep 2017 09:27:53 GMT</pubdate><guid ispermalink="false">7e491611-45ad-4dae-a68f-c4cb64439510:1808995</guid><dc:creator>Damir Dobric</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;If you are deploying ASP.NET core 2.0 application to Azure App Service you might get following error:&lt;/p&gt;  &lt;h5&gt;HTTP Error 502.5 - Process Failure&lt;/h5&gt;  &lt;h6&gt;Common causes of this issue:&lt;/h6&gt;  &lt;ul&gt;   &lt;li&gt;The application process failed to start &lt;/li&gt;    &lt;li&gt;The application process started but then stopped &lt;/li&gt;    &lt;li&gt;The application process started but failed to listen on the configured port&lt;/li&gt; &lt;/ul&gt;    &lt;p&gt;As usual, first of all you have to do is don’t read the error message. The problem is that your AppService container already contains a version of .NET Core v1.* (or something else), which has deployed assemblies, which disturbs new deployment.&lt;/p&gt;  &lt;p&gt;Right now, this issue is related to migration from .NET Core 1 to .NET Core 2. But similar problem might happen in the future, due to some other reason.&lt;/p&gt;  &lt;p&gt;The solution for this problem is to delete the exisiting deployment manually. You might do this by connecting via FTP or by using of Kudu.&lt;/p&gt;  &lt;p&gt;If you want to connect to Kudu type following URL: &lt;a title="https://iotservice-dev-002.scm.azurewebsites.de/DebugConsole" href="https://YOURSERVICENAME.scm.azurewebsites.de/DebugConsole"&gt;https://YOURSERVICENAME.scm.azurewebsites.de/DebugConsole&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;After successfull connect, you will see following:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_43A26A75.png"&gt;&lt;img title="image" style="display:inline;background-image:none;" border="0" alt="image" src="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_thumb_5F00_4A5573F8.png" width="724" height="372" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Then you can enter “dir” command to see the content of the root.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_65F9FFEE.png"&gt;&lt;img title="image" style="display:inline;background-image:none;" border="0" alt="image" src="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_thumb_5F00_57BB86FE.png" width="910" height="353" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;As next, navigate to following folder&lt;/p&gt;  &lt;p&gt;D:\home\site\wwwroot&amp;gt;&lt;/p&gt;  &lt;p&gt;No you can delete all files with following command:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;del *.*&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;After that you can deploy solution again.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://developers.de/aggbug.aspx?PostID=1808995" width="1" height="1"&gt;</description><category domain="http://developers.de/blogs/damir_dobric/archive/tags/cloud/default.aspx">cloud</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/azure/default.aspx">azure</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/windows+azure/default.aspx">windows azure</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/Microsoft+Azure/default.aspx">Microsoft Azure</category></item><item><title>Raspberry Pi Windows 10 IoT Core - How to find isolated storage of your application?</title><link />http://developers.de/blogs/indraneel/archive/2017/09/14/raspberry-pi-windows-10-iot-core-how-to-find-isolated-storage-of-your-application.aspx<pubdate>Thu, 14 Sep 2017 07:04:07 GMT</pubdate><guid ispermalink="false">7e491611-45ad-4dae-a68f-c4cb64439510:1808993</guid><dc:creator>Indraneel Pole</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;While working on IoT projects, if you are using Windows 10 IoT Core, things can be really painful sometimes. There are advantages and disadvantages of using Windows 10IoT Core. Advantage being you can apply most of your Windows knowledge in some way to Windows 10 IoT Core. The bad thing a lot of times it is the same but the different and that confusion makes your life hell. It recently happened with me when I used Isolated Storage on Raspberry Pi in my project and it took me 2 hours to find the path of it. So if anybody is wondering with the same question, here is where it lies. &lt;/p&gt;  &lt;p&gt;The isolated storage lies inside Package folder of your app. Every app that is installed on Windows OS creates an app package. On normal Windows machines, your app packages are installed at C drive at your user account inside AppData\Local. The Path looks something like - &lt;/p&gt;  &lt;p align="center"&gt;C:\Users\XYZ\AppData\Local\Packages&lt;/p&gt;  &lt;p align="left"&gt;And inside this lies your package inside which you can access the isolated storage files.&lt;/p&gt;  &lt;p&gt;On Windows 10 IoT Core however you have two “Users” folders, one is directly on the root level and another is inside the Data folder. If you try to find inside Users folder you still go to packages folder, but you will not find anything in there. To go to app packages you have to go inside Data\Users folder and then select “DefaultAccount” which is a hidden folder. This DefaultAccount then has a similar path as of Windows machine. The path looks like this -&lt;/p&gt;  &lt;p&gt;&lt;a&gt;\\IP_Address_Of_Your_Machine\c$\Data\Users\DefaultAccount\AppData\Local\Packages\20c45e87-953a-4d99-919b-c6ee7e9642d3_h95tnwbrnsgam\LocalState\&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The GUID inside packages folder is your app folder and inside local state you can access isolated storage.&lt;/p&gt;  &lt;p&gt;I hope it helps &lt;img class="wlEmoticon wlEmoticon-smile" style="border-top-style:none;border-left-style:none;border-bottom-style:none;border-right-style:none;" alt="Smile" src="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/indraneel/wlEmoticon_2D00_smile_5F00_5973A7B3.png" /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://developers.de/aggbug.aspx?PostID=1808993" width="1" height="1"&gt;</description></item><item><title>How about ‘mscorelib’ reference?</title><link />http://developers.de/blogs/damir_dobric/archive/2017/08/25/how-about-mscorelib-reference.aspx<pubdate>Fri, 25 Aug 2017 05:33:00 GMT</pubdate><guid ispermalink="false">7e491611-45ad-4dae-a68f-c4cb64439510:1808534</guid><dc:creator>Damir Dobric</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Sometimes, it is very difficult to understand what happen behind build process inside of complex solutions. You think you did all correct, and then you write simple line of, which is basically doing ‘nothing’ and then:&lt;/p&gt;  &lt;p&gt;&lt;font color="#ff0000"&gt;&lt;em&gt;&lt;strong&gt;“&lt;/strong&gt;&lt;/em&gt;&lt;/font&gt;&lt;a href="https://stackoverflow.com/questions/37468552/you-must-add-a-reference-to-assembly-mscorlib-version-4-0-0"&gt;&lt;font color="#ff0000"&gt;&lt;em&gt;&lt;strong&gt;You must add a reference to assembly mscorlib, version=4.0.0&lt;/strong&gt;&lt;/em&gt;&lt;/font&gt;&lt;/a&gt;&lt;font color="#ff0000"&gt;&lt;em&gt;&lt;strong&gt;”&lt;/strong&gt;&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;It means you miss everything in framework. The problem is that you probably are targeting multiple frameworks. For example, I have a project with following targets:&lt;/p&gt;  &lt;p&gt;&amp;#160; &lt;strong&gt;&amp;#160; &amp;lt;TargetFrameworks&amp;gt;netstandard1.3;net46&amp;lt;/TargetFrameworks&amp;gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;The error shown above is related to &lt;strong&gt;netstandard1.3&lt;/strong&gt;. To fix this, you cannot simply go to project references and add reference to &lt;strong&gt;mscorelib&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;Rather, you should add a reference to following package:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Microsoft.NETCore.Portable.Compatibility&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;That will make your project compliable.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://developers.de/aggbug.aspx?PostID=1808534" width="1" height="1"&gt;</description><category domain="http://developers.de/blogs/damir_dobric/archive/tags/Core.Net/default.aspx">Core.Net</category></item><item><title>Microsoft.IdentityModel.Tokens.SecurityTokenSignatureKeyNotFoundException</title><link />http://developers.de/blogs/damir_dobric/archive/2017/08/23/microsoft-identitymodel-tokens-securitytokensignaturekeynotfoundexception.aspx<pubdate>Wed, 23 Aug 2017 14:38:23 GMT</pubdate><guid ispermalink="false">7e491611-45ad-4dae-a68f-c4cb64439510:1808516</guid><dc:creator>Damir Dobric</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;I guess, when you see error shown below (or similar) error, you might get kind of crazy:&lt;/p&gt;  &lt;table cellspacing="0" cellpadding="2"&gt;     &lt;tr&gt;       &lt;td&gt;         &lt;blockquote&gt;           &lt;p&gt;Microsoft.IdentityModel.Tokens.SecurityTokenSignatureKeyNotFoundException: &amp;#39;IDX10501: Signature validation failed. Unable to match &amp;#39;kid&amp;#39;: &amp;#39;VWVIc1WD1Tksbb301sasM5kOq5Q&amp;#39;,              &lt;br /&gt; token: &amp;#39;{&amp;quot;alg&amp;quot;:&amp;quot;RS256&amp;quot;,&amp;quot;typ&amp;quot;:&amp;quot;JWT&amp;quot;,&amp;quot;x5t&amp;quot;&lt;/p&gt;         &lt;/blockquote&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/table&gt;  &lt;p&gt;This error means that signature of the specified token cannot be validated. This happens if your token is issued by for example AAD in public cloud and you are validating signature against another cloud like german-cloud.&lt;/p&gt;  &lt;p&gt;In another words, the client has obtained the token from Authority1 and Service is validating signature by Authority2.&lt;/p&gt;  &lt;p&gt;AAD endpoint in configuration client and service must match.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://developers.de/aggbug.aspx?PostID=1808516" width="1" height="1"&gt;</description><category domain="http://developers.de/blogs/damir_dobric/archive/tags/cloud/default.aspx">cloud</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/azure/default.aspx">azure</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/windows+azure/default.aspx">windows azure</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/Microsoft+Azure/default.aspx">Microsoft Azure</category></item><item><title>Unable to resolve service type while injecting dependencies</title><link />http://developers.de/blogs/damir_dobric/archive/2017/08/15/unable-to-resolve-service-type-while-injecting-dependencies.aspx<pubdate>Tue, 15 Aug 2017 15:23:32 GMT</pubdate><guid ispermalink="false">7e491611-45ad-4dae-a68f-c4cb64439510:1808332</guid><dc:creator>Damir Dobric</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;When implementing .NET Core dependency injection inside of ASP.NET Core or .NET Core. Assume you have implemented some class like &amp;#39;IoTService.Config.GatewayConfig&amp;#39; and get following error on startup:&lt;/p&gt;  &lt;table cellspacing="0" cellpadding="2"&gt;     &lt;tr&gt;       &lt;td&gt;{&amp;quot;message&amp;quot;:&amp;quot;Unable to resolve service for type &amp;#39;IoTService.Config.GatewayConfig&amp;#39; while attempting to activate &amp;#39;IoTService.GatewayHelper&amp;#39;.&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;InvalidOperationException&amp;quot;}&lt;/td&gt;     &lt;/tr&gt;   &lt;/table&gt;    &lt;p&gt;This is how I have initialized injection:&lt;/p&gt;  &lt;table cellspacing="0" cellpadding="2"&gt;     &lt;tr&gt;       &lt;td&gt;         &lt;p&gt;services.Configure&amp;lt;GatewayConfig&amp;gt;(Configuration.GetSection(&amp;quot;IotHubMap&amp;quot;));           &lt;br /&gt; services.AddScoped&amp;lt;IGatewayHelper, GatewayHelper&amp;gt;();            &lt;br /&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/table&gt;    &lt;p&gt;The error shown above will be thrown if the constructor shown in yellow is not implemented. Internal implementation is always looking for IOptions. The code shown below demonstrate hot to workaround this error and how to implement injectable class out of ASP.NET and need to implement IOptions interface.&lt;/p&gt;  &lt;table cellspacing="0" cellpadding="2"&gt;     &lt;tr&gt;       &lt;td&gt;         &lt;p&gt;public class GatewayHelper : ISOmething           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; {            &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; private GatewayConfig m_Cfg;&lt;/p&gt;          &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;font&gt; public GatewayHelper(IOptions&amp;lt;GatewayConfig&amp;gt; options) : this(options.Value)             &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;/font&gt;&lt;/p&gt;         &lt;font&gt;&lt;/font&gt;          &lt;p&gt;&lt;font&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/font&gt;&lt;/p&gt;          &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; public GatewayHelper(GatewayConfig cfg)            &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {            &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; this.m_Cfg = cfg;            &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/table&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://developers.de/aggbug.aspx?PostID=1808332" width="1" height="1"&gt;</description><category domain="http://developers.de/blogs/damir_dobric/archive/tags/Asp.Net/default.aspx">Asp.Net</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/Core.Net/default.aspx">Core.Net</category></item><item><title>How to find out Callback URI of the Windows 10 App?</title><link />http://developers.de/blogs/damir_dobric/archive/2017/08/14/how-to-find-out-callback-uri-of-the-windows-10-app.aspx<pubdate>Mon, 14 Aug 2017 05:20:00 GMT</pubdate><guid ispermalink="false">7e491611-45ad-4dae-a68f-c4cb64439510:1808284</guid><dc:creator>Damir Dobric</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Usually, when implementing AAD authentication in application, according to OAuth protocol, you will have to provide so called Callback-URI. This is the URL of the endpoint capable of receiving redirected request from authority.&amp;#160; Because the specification as originally written for web applications, this kind of URL is not natural for native apps.&lt;/p&gt;  &lt;p&gt;Depending on type of operative system or even better, depending on client library, which you use, this URL might look different. In a case of UWP (Universal Windows Application), the URL&amp;#160; can be extracte as follows:&lt;/p&gt;  &lt;p&gt;string URI = string.Format(&amp;quot;ms-appx-web://Microsoft.AAD.BrokerPlugIn/{0}&amp;quot;, WebAuthenticationBroker.GetCurrentApplicationCallbackUri().Host.ToUpper());&lt;/p&gt;  &lt;p&gt;As a result you will get something like this:&lt;/p&gt;  &lt;p&gt;&lt;a title="ms-appx-web://Microsoft.AAD.BrokerPlugIn/S-1-15-2-1706387387-4189788551-2724562175-3977038930-2290055178-977454683-1391943604"&gt;&lt;font&gt;ms-appx-web://Microsoft.AAD.BrokerPlugIn&lt;/font&gt;/S-1-XX-2-00000000-11111-22222-4444-2290055178-222222-1111111&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;This URL is what you have to set in application blade in Azure AAD portal.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://developers.de/aggbug.aspx?PostID=1808284" width="1" height="1"&gt;</description><category domain="http://developers.de/blogs/damir_dobric/archive/tags/azure/default.aspx">azure</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/Windows/default.aspx">Windows</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/Apps+and+Devices/default.aspx">Apps and Devices</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/Microsoft+Azure/default.aspx">Microsoft Azure</category></item><item><title>What is behind ‘404-error’ in Azure AD B2C?</title><link />http://developers.de/blogs/damir_dobric/archive/2017/08/07/what-is-behind-404-error-in-azure-ad-b2c.aspx<pubdate>Mon, 07 Aug 2017 05:35:00 GMT</pubdate><guid ispermalink="false">7e491611-45ad-4dae-a68f-c4cb64439510:1808132</guid><dc:creator>Damir Dobric</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;AAD B2C is definitely an interesting approach to simplify dealing with various cloud identities. However, we should not forget, that working with security is always complex and can be very wired. In this post I will describe one example. &lt;/p&gt;  &lt;p&gt;Let’s assume, we want to perform a sign in operation from some application. In my case this is WPF application. It means it is running on Windows in .NET Desktop framework.&lt;/p&gt;  &lt;p&gt;To sign-in, I use following code, which use MSAL API:&lt;/p&gt;  &lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;line-height:normal;list-style-type:disc;mso-layout-grid-align:none;"&gt;&lt;span style="mso-bidi-font-family:consolas;mso-ansi-language:x-none;"&gt;&lt;font style="font-size:9.5pt;"&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;line-height:normal;list-style-type:disc;mso-layout-grid-align:none;"&gt;&lt;span style="mso-bidi-font-family:consolas;mso-ansi-language:x-none;"&gt;&lt;font style="font-size:9.5pt;"&gt;var authResult = &lt;/font&gt;&lt;/span&gt;&lt;font style="font-size:9.5pt;"&gt;&lt;span style="mso-bidi-font-family:consolas;mso-ansi-language:x-none;"&gt;await&lt;/span&gt;&lt;span style="mso-bidi-font-family:consolas;mso-ansi-language:x-none;"&gt; &lt;/span&gt;&lt;span style="mso-bidi-font-family:consolas;mso-ansi-language:x-none;"&gt;App&lt;/span&gt;&lt;span style="mso-bidi-font-family:consolas;mso-ansi-language:x-none;"&gt;.&lt;strong&gt;PublicClientApp&lt;/strong&gt;.&lt;strong&gt;AcquireTokenAsync&lt;/strong&gt;(&lt;/span&gt;&lt;span style="mso-bidi-font-family:consolas;mso-ansi-language:x-none;"&gt;App&lt;/span&gt;&lt;span style="mso-bidi-font-family:consolas;mso-ansi-language:x-none;"&gt;.ApiScopes, GetUserByPolicy(&lt;/span&gt;&lt;span style="mso-bidi-font-family:consolas;mso-ansi-language:x-none;"&gt;App&lt;/span&gt;&lt;span style="mso-bidi-font-family:consolas;mso-ansi-language:x-none;"&gt;.PublicClientApp.Users, “&lt;font&gt;BLABLA&lt;/font&gt;”&lt;/span&gt;&lt;span style="mso-bidi-font-family:consolas;mso-ansi-language:x-none;"&gt;), &lt;/span&gt;&lt;span style="mso-bidi-font-family:consolas;mso-ansi-language:x-none;"&gt;UIBehavior&lt;/span&gt;&lt;span style="mso-bidi-font-family:consolas;mso-ansi-language:x-none;"&gt;.SelectAccount, &lt;/span&gt;&lt;span style="mso-bidi-font-family:consolas;mso-ansi-language:x-none;"&gt;string&lt;/span&gt;&lt;span style="mso-bidi-font-family:consolas;mso-ansi-language:x-none;"&gt;.Empty, &lt;/span&gt;&lt;span style="mso-bidi-font-family:consolas;mso-ansi-language:x-none;"&gt;null&lt;/span&gt;&lt;span style="mso-bidi-font-family:consolas;mso-ansi-language:x-none;"&gt;, &lt;/span&gt;&lt;span style="mso-bidi-font-family:consolas;mso-ansi-language:x-none;"&gt;App&lt;/span&gt;&lt;/font&gt;&lt;span style="mso-bidi-font-family:consolas;mso-ansi-language:x-none;"&gt;&lt;font style="font-size:9.5pt;"&gt;.Authority);&lt;/font&gt;&lt;/span&gt;&lt;/p&gt; &lt;font style="font-size:12pt;"&gt;&lt;/font&gt;  &lt;p class="MsoNormal" style="margin:0cm 0cm 8pt;line-height:12pt;list-style-type:disc;"&gt;&lt;span style="line-height:10pt;mso-bidi-font-family:consolas;mso-ansi-language:x-none;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font style="font-size:9.5pt;"&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin:0cm 0cm 8pt;line-height:12pt;list-style-type:disc;"&gt;&lt;font style="font-size:12pt;"&gt;&lt;/font&gt;&lt;font style="font-size:12pt;"&gt;&lt;/font&gt;    &lt;table cellspacing="0" cellpadding="2"&gt;       &lt;tr&gt;         &lt;td&gt;&lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td&gt;&lt;/td&gt;       &lt;/tr&gt;     &lt;/table&gt;    &lt;table cellspacing="0" cellpadding="2"&gt;       &lt;tr&gt;         &lt;td&gt;           &lt;p&gt; This code will fail with following error, because the policy “BLABLA” does not exist.&lt;/p&gt;            &lt;table cellspacing="0" cellpadding="2"&gt;               &lt;tr&gt;                 &lt;td&gt;                   &lt;p&gt;&lt;font color="#ff0000"&gt;&lt;em&gt;System.Runtime.Serialization.SerializationException: There was an error deserializing the object of type Microsoft.Identity.Client.Internal.OAuth2.TokenResponse. Encountered unexpected character &amp;#39;&amp;lt;&amp;#39;. ---&amp;gt; System.Xml.XmlException: Encountered unexpected character &amp;#39;&amp;lt;&amp;#39;.&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;                    &lt;p&gt;&lt;font color="#ff0000"&gt;&lt;/font&gt;&lt;/p&gt;                    &lt;p&gt;If you trace HTTP traffic, you will find more information behind this error:&lt;span&gt;                       &lt;br /&gt;&lt;/span&gt;&lt;/p&gt;                    &lt;p&gt;&lt;font color="#ff0000"&gt;&lt;em&gt;&amp;lt;h2&amp;gt;404 - File or directory not found.&amp;lt;/h2&amp;gt;                         &lt;br /&gt;&amp;#160; &amp;lt;h3&amp;gt;The resource you are looking for might have been removed, had its name changed, or is temporarily unavailable.&amp;lt;/h3&amp;gt;&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;                 &lt;/td&gt;                  &lt;td&gt;&lt;/td&gt;               &lt;/tr&gt;                &lt;tr&gt;                 &lt;td&gt;&lt;/td&gt;                  &lt;td&gt;&lt;/td&gt;               &lt;/tr&gt;             &lt;/table&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/table&gt; &lt;/p&gt;  &lt;p&gt;This means, that error 404 will happen if you specify the policy which does not exist, at least. &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://developers.de/aggbug.aspx?PostID=1808132" width="1" height="1"&gt;</description><category domain="http://developers.de/blogs/damir_dobric/archive/tags/cloud/default.aspx">cloud</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/azure/default.aspx">azure</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/windows+azure/default.aspx">windows azure</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/Microsoft+Azure/default.aspx">Microsoft Azure</category></item><item><title>DesktopAppConverter error : qualified file name must be less than 260</title><link />http://developers.de/blogs/damir_dobric/archive/2017/07/22/desktopappconverter-error-qualified-file-name-must-be-less-than-260.aspx<pubdate>Sat, 22 Jul 2017 12:53:00 GMT</pubdate><guid ispermalink="false">7e491611-45ad-4dae-a68f-c4cb64439510:1807798</guid><dc:creator>Damir Dobric</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;When working with Desktop Converter, you might get following error: &lt;/p&gt;  &lt;p&gt;&lt;font color="#ff0000"&gt;C:\Program Files\WindowsApps\Microsoft.DesktopAppConverter_2.0.2.0_x64__8wekyb3d8bbwe\DesktopAppConverter.ps1 : The     &lt;br /&gt; specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and      &lt;br /&gt; the directory name must be less than 248 characters.      &lt;br /&gt; At line:1 char:1      &lt;br /&gt; + &amp;amp;&amp;#39;C:\Program Files\WindowsApps\Microsoft.DesktopAppConverter_2.0.2.0_ ...      &lt;br /&gt; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; + CategoryInfo&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : NotSpecified: (:) [Write-Error], WriteErrorException      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,DesktopAppConverter.ps1&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;This error has nothing to do with the length f any of your application files. The problem is destination argument of following command:&lt;/p&gt;    &lt;p&gt;&amp;gt; DesktopAppConverter.exe -Installer &lt;font&gt;C:\Temp\NodejsApp\NodejsApp&lt;/font&gt; -AppExecutable node.exe -Destinat    &lt;br /&gt; ion &lt;font&gt;C:\Temp\NodejsApp\NodejsApp\packages&lt;/font&gt; -PackageName &amp;quot;MyNodeApp&amp;quot; -Publisher &amp;quot;CN=MyPublisher&amp;quot; -Version 0.0.0.1&lt;/p&gt;  &lt;p&gt;This command creates the package from application in path ‘&lt;font&gt;C:\Temp\NodejsApp\NodejsApp&lt;/font&gt; ’ and will try to store it to path &lt;font&gt;C:\Temp\NodejsApp\NodejsApp\packages&lt;/font&gt; .&lt;/p&gt;  &lt;p&gt;Because creating process will read specified path, but in the same time will create packages under the reading path, it will recursively grow until it crashes.&lt;/p&gt;  &lt;p&gt;Solution is very easy. You should create a package out of application root:&lt;/p&gt; DesktopAppConverter.exe -Installer &lt;font&gt;&lt;font&gt;C:\Temp\NodejsApp\&lt;/font&gt;NodejsApp&lt;/font&gt; -AppExecutable node.exe -Destinat  &lt;br /&gt; ion &lt;font&gt;&lt;font&gt;C:\Temp\NodejsApp&lt;/font&gt;\packages&lt;/font&gt; -PackageName &amp;quot;MyNodeApp&amp;quot; -Publisher &amp;quot;CN=MyPublisher&amp;quot; -Version 0.0.0.1&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://developers.de/aggbug.aspx?PostID=1807798" width="1" height="1"&gt;</description><category domain="http://developers.de/blogs/damir_dobric/archive/tags/WinRT/default.aspx">WinRT</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/Windows/default.aspx">Windows</category></item><item><title>How to access log files on Windows IoT Core device?</title><link />http://developers.de/blogs/damir_dobric/archive/2017/07/20/how-to-access-log-files-on-windows-iot-core-device.aspx<pubdate>Thu, 20 Jul 2017 09:36:50 GMT</pubdate><guid ispermalink="false">7e491611-45ad-4dae-a68f-c4cb64439510:1807755</guid><dc:creator>Damir Dobric</dc:creator><slash:comments>0</slash:comments><description>  &lt;p&gt;Sometimes, when running on Windows IoT Core device, you might have some issues when trying to access files in LocalAppData folder.As you see there is no any file shown in dashboard. But, believe me, there are files in the folder.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_48E0D625.png"&gt;&lt;img title="image" style="border:0px currentcolor;padding-top:0px;padding-right:0px;padding-left:0px;display:inline;background-image:none;" border="0" alt="image" src="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_thumb_5F00_3DB74BDB.png" width="732" height="258" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Interestingly, when this happen, you will be able to access files via PowerShell. Following power-shell command shows how to fo that.&lt;/p&gt;  &lt;p&gt;[192.168.0.123]:    &lt;br /&gt;cd C:\Data\Users\DefaultAccount\AppData\local\Packages\20c45e87-953a-4d99-919b-c6ee7e9642d3_h95tnwbrnsgam\LocalState&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://developers.de/aggbug.aspx?PostID=1807755" width="1" height="1"&gt;</description><category domain="http://developers.de/blogs/damir_dobric/archive/tags/iot/default.aspx">iot</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/iothub/default.aspx">iothub</category></item><item><title>Configuring Application Configuration in ASP.NET Core 2</title><link />http://developers.de/blogs/damir_dobric/archive/2017/07/16/configuring-application-configuration-in-asp-net-core-2.aspx<pubdate>Sun, 16 Jul 2017 08:16:44 GMT</pubdate><guid ispermalink="false">7e491611-45ad-4dae-a68f-c4cb64439510:1807676</guid><dc:creator>Damir Dobric</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Configuration of asp.net core seems to be particularly moved from startup.cs in program.cs. Here is one example:&lt;/p&gt;    &lt;table cellspacing="0" cellpadding="2"&gt;     &lt;tr&gt;       &lt;td&gt;         &lt;p class="MsoNormal" style="margin:0in 0in 8pt;line-height:12pt;list-style-type:disc;"&gt;&lt;font face="Consolas"&gt;&lt;span style="line-height:10pt;mso-bidi-font-family:consolas;"&gt;&lt;font color="#0000ff"&gt;&lt;font style="font-size:9.5pt;"&gt;public&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font style="font-size:9.5pt;"&gt;&lt;span style="line-height:10pt;mso-bidi-font-family:consolas;"&gt; &lt;/span&gt;&lt;span style="line-height:10pt;mso-bidi-font-family:consolas;"&gt;&lt;font color="#0000ff"&gt;class&lt;/font&gt;&lt;/span&gt;&lt;span style="line-height:10pt;mso-bidi-font-family:consolas;"&gt; &lt;/span&gt;&lt;span style="line-height:10pt;mso-bidi-font-family:consolas;"&gt;&lt;font color="#2b91af"&gt;Program&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font style="font-size:9.5pt;"&gt;&lt;span style="line-height:10pt;mso-bidi-font-family:consolas;"&gt;                &lt;br /&gt;&lt;font face="Consolas"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{                   &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="Consolas"&gt;&lt;span style="line-height:10pt;mso-bidi-font-family:consolas;"&gt;&lt;font color="#0000ff"&gt;public&lt;/font&gt;&lt;/span&gt;&lt;span style="line-height:10pt;mso-bidi-font-family:consolas;"&gt; &lt;/span&gt;&lt;span style="line-height:10pt;mso-bidi-font-family:consolas;"&gt;&lt;font color="#0000ff"&gt;static&lt;/font&gt;&lt;/span&gt;&lt;span style="line-height:10pt;mso-bidi-font-family:consolas;"&gt; &lt;/span&gt;&lt;span style="line-height:10pt;mso-bidi-font-family:consolas;"&gt;&lt;font color="#0000ff"&gt;void&lt;/font&gt;&lt;/span&gt;&lt;span style="line-height:10pt;mso-bidi-font-family:consolas;"&gt; Main(&lt;/span&gt;&lt;span style="line-height:10pt;mso-bidi-font-family:consolas;"&gt;&lt;font color="#0000ff"&gt;string&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;&lt;span style="line-height:10pt;mso-bidi-font-family:consolas;"&gt;[] args)                  &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{                   &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;BuildWebHost(args).Run();                   &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}                   &lt;br /&gt;                  &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span style="line-height:10pt;mso-bidi-font-family:consolas;"&gt;&lt;font color="#0000ff"&gt;public&lt;/font&gt;&lt;/span&gt;&lt;span style="line-height:10pt;mso-bidi-font-family:consolas;"&gt; &lt;/span&gt;&lt;span style="line-height:10pt;mso-bidi-font-family:consolas;"&gt;&lt;font color="#0000ff"&gt;static&lt;/font&gt;&lt;/span&gt;&lt;span style="line-height:10pt;mso-bidi-font-family:consolas;"&gt; &lt;/span&gt;&lt;span style="line-height:10pt;mso-bidi-font-family:consolas;"&gt;&lt;font color="#2b91af"&gt;IWebHost&lt;/font&gt;&lt;/span&gt;&lt;span style="line-height:10pt;mso-bidi-font-family:consolas;"&gt; BuildWebHost(&lt;/span&gt;&lt;span style="line-height:10pt;mso-bidi-font-family:consolas;"&gt;&lt;font color="#0000ff"&gt;string&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;&lt;span style="line-height:10pt;mso-bidi-font-family:consolas;"&gt;[] args) =&amp;gt;                  &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span style="line-height:10pt;mso-bidi-font-family:consolas;"&gt;&lt;font color="#2b91af"&gt;WebHost&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;&lt;span style="line-height:10pt;mso-bidi-font-family:consolas;"&gt;.CreateDefaultBuilder(args)                  &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;.ConfigureAppConfiguration((ctx, cfgBuilder) =&amp;gt;                   &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{                   &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;cfgBuilder.                   &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;AddJsonFile(&lt;/span&gt;&lt;span style="line-height:10pt;mso-bidi-font-family:consolas;"&gt;&lt;font color="#a31515"&gt;&amp;quot;appsettings.json&amp;quot;&lt;/font&gt;&lt;/span&gt;&lt;span style="line-height:10pt;mso-bidi-font-family:consolas;"&gt;, optional: &lt;/span&gt;&lt;span style="line-height:10pt;mso-bidi-font-family:consolas;"&gt;&lt;font color="#0000ff"&gt;false&lt;/font&gt;&lt;/span&gt;&lt;span style="line-height:10pt;mso-bidi-font-family:consolas;"&gt;, reloadOnChange: &lt;/span&gt;&lt;span style="line-height:10pt;mso-bidi-font-family:consolas;"&gt;&lt;font color="#0000ff"&gt;true&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;&lt;span style="line-height:10pt;mso-bidi-font-family:consolas;"&gt;)                  &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;.AddJsonFile(&lt;/span&gt;&lt;span style="line-height:10pt;mso-bidi-font-family:consolas;"&gt;&lt;font color="#a31515"&gt;$&amp;quot;appsettings.&lt;/font&gt;&lt;/span&gt;&lt;span style="line-height:10pt;mso-bidi-font-family:consolas;"&gt;{ctx.HostingEnvironment.EnvironmentName}&lt;/span&gt;&lt;span style="line-height:10pt;mso-bidi-font-family:consolas;"&gt;&lt;font color="#a31515"&gt;.json&amp;quot;&lt;/font&gt;&lt;/span&gt;&lt;span style="line-height:10pt;mso-bidi-font-family:consolas;"&gt;,&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; optional: &lt;/span&gt;&lt;span style="line-height:10pt;mso-bidi-font-family:consolas;"&gt;&lt;font color="#0000ff"&gt;true&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;&lt;span style="line-height:10pt;mso-bidi-font-family:consolas;"&gt;)                  &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;.AddEnvironmentVariables();                   &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;})                   &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;.UseStartup&amp;lt;&lt;/span&gt;&lt;span style="line-height:10pt;mso-bidi-font-family:consolas;"&gt;&lt;font color="#2b91af"&gt;Startup&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;span style="line-height:10pt;mso-bidi-font-family:consolas;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:9.5pt;"&gt;&amp;gt;()                  &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;.Build();                   &lt;br /&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;}&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;             &lt;br style="mso-special-character:line-break;" /&gt;            &lt;br style="mso-special-character:line-break;" /&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/table&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://developers.de/aggbug.aspx?PostID=1807676" width="1" height="1"&gt;</description></item><item><title>Swagger IncludeXmlComments PlatformServices (obsolete) replacement</title><link />http://developers.de/blogs/holger_vetter/archive/2017/06/30/swagger-includexmlcomments-platformservices-obsolete-replacement.aspx<pubdate>Fri, 30 Jun 2017 09:31:13 GMT</pubdate><guid ispermalink="false">7e491611-45ad-4dae-a68f-c4cb64439510:1807306</guid><dc:creator>Holger Vetter</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;We migrated a project to ASP.NET Core 2 (preview) and needed to configure swagger.
&lt;/p&gt;&lt;p&gt;In ASP.NET Core v1 we used this code to load the auto generated xml file into swagger:
&lt;/p&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;"&gt;&lt;tr&gt;&lt;td style="padding-left:7px;padding-right:7px;border-top:solid 0.5pt;border-left:solid 0.5pt;border-bottom:solid 0.5pt;border-right:solid 0.5pt;"&gt;&lt;p&gt;           services.ConfigureSwaggerGen(options =&amp;gt;
&lt;/p&gt;&lt;p&gt;            {
&lt;/p&gt;&lt;p&gt;                //Determine base path for the application.
&lt;/p&gt;&lt;p&gt;                var basePath = PlatformServices.Default.Application.ApplicationBasePath;
&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;                //Set the comments path for the swagger json and ui.
&lt;/p&gt;&lt;p&gt;                options.IncludeXmlComments(System.IO.Path.Combine(basePath, &amp;quot;ProjectName.xml&amp;quot;));
&lt;/p&gt;&lt;p&gt;            });&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;p&gt;Since PlatformServices is obsolete (&lt;a href="https://github.com/aspnet/PlatformAbstractions"&gt;https://github.com/aspnet/PlatformAbstractions&lt;/a&gt;), you shouldn&amp;#39;t use this for your (new) projects anymore.&lt;br /&gt;Like the github page states, you should use the equivalent .NET API instead.
&lt;/p&gt;&lt;p&gt;Here is what I use instead of PlatFormAbstractions (PlatformServices) for loading the xml into swagger:
&lt;/p&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;"&gt;&lt;tr style="height:203px;"&gt;&lt;td style="padding-left:7px;padding-right:7px;border-top:solid 0.5pt;border-left:solid 0.5pt;border-bottom:solid 0.5pt;border-right:solid 0.5pt;"&gt;&lt;p&gt;&lt;span style="color:black;font-family:Consolas;font-size:9pt;"&gt;            services.ConfigureSwaggerGen(options =&amp;gt;
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:black;font-family:Consolas;font-size:9pt;"&gt;            {
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:black;font-family:Consolas;font-size:9pt;"&gt;
								&lt;span style="color:green;"&gt;//Determine base path for the application.&lt;span style="color:black;"&gt;
									&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:black;font-family:Consolas;font-size:9pt;"&gt;
								&lt;span style="color:blue;"&gt;var&lt;span style="color:black;"&gt; basePath = &lt;span style="color:#2b91af;"&gt;AppContext&lt;span style="color:black;"&gt;.BaseDirectory;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;&lt;span style="color:black;font-family:Consolas;font-size:9pt;"&gt;
								&lt;span style="color:blue;"&gt;var&lt;span style="color:black;"&gt; assemblyName = System.Reflection.&lt;span style="color:#2b91af;"&gt;Assembly&lt;span style="color:black;"&gt;.GetEntryAssembly().GetName().Name;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;&lt;span style="color:black;font-family:Consolas;font-size:9pt;"&gt;
								&lt;span style="color:blue;"&gt;var&lt;span style="color:black;"&gt; fileName = System.IO.&lt;span style="color:#2b91af;"&gt;Path&lt;span style="color:black;"&gt;.GetFileName(assemblyName + &lt;span style="color:#a31515;"&gt;&amp;quot;.xml&amp;quot;&lt;span style="color:black;"&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;&lt;span style="color:black;font-family:Consolas;font-size:9pt;"&gt;
								&lt;span style="color:green;"&gt;//Set the comments path for the swagger json and ui.&lt;span style="color:black;"&gt;
									&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:black;font-family:Consolas;font-size:9pt;"&gt;                options.IncludeXmlComments(System.IO.&lt;span style="color:#2b91af;"&gt;Path&lt;span style="color:black;"&gt;.Combine(basePath, fileName));
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:black;font-family:Consolas;font-size:9pt;"&gt;            });&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;p&gt;Hint: You could add a check here, if the file really exists before loading it.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://developers.de/aggbug.aspx?PostID=1807306" width="1" height="1"&gt;</description></item><item><title>How to deal with Assembly Version in .NET Core?</title><link />http://developers.de/blogs/damir_dobric/archive/2017/06/27/how-to-deal-with-assembly-version-in-net-core.aspx<pubdate>Tue, 27 Jun 2017 14:31:41 GMT</pubdate><guid ispermalink="false">7e491611-45ad-4dae-a68f-c4cb64439510:1807240</guid><dc:creator>Damir Dobric</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Most enterprise application soon or latter, have a requirement to trace out the version of a currently running application. This post shows few example, which demonstrates how to do this in .NET Core.&lt;/p&gt;  &lt;p class="MsoNormal" style="list-style-type:disc;margin:0in 0in 0pt;line-height:normal;mso-layout-grid-align:none;"&gt;&lt;font face="Consolas"&gt;&lt;span style="mso-bidi-font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font style="font-size:9.5pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;font style="font-size:9.5pt;"&gt;&lt;span style="mso-bidi-font-family:consolas;"&gt;&lt;font color="#0000ff"&gt;var&lt;/font&gt;&lt;/span&gt;&lt;span style="mso-bidi-font-family:consolas;"&gt; ver = &lt;/span&gt;&lt;span style="mso-bidi-font-family:consolas;"&gt;&lt;font color="#2b91af"&gt;Assembly&lt;/font&gt;&lt;/span&gt;&lt;span style="mso-bidi-font-family:consolas;"&gt;.GetEntryAssembly().GetCustomAttribute&amp;lt;&lt;/span&gt;&lt;span style="mso-bidi-font-family:consolas;"&gt;&lt;font color="#2b91af"&gt;AssemblyInformationalVersionAttribute&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;span style="mso-bidi-font-family:consolas;"&gt;&lt;font style="font-size:9.5pt;"&gt;&amp;gt;().InformationalVersion;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="list-style-type:disc;margin:0in 0in 0pt;line-height:normal;mso-layout-grid-align:none;"&gt;&lt;span style="mso-bidi-font-family:consolas;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:9.5pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="list-style-type:disc;margin:0in 0in 0pt;line-height:normal;mso-layout-grid-align:none;"&gt;&lt;span style="mso-bidi-font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:9.5pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="list-style-type:disc;margin:0in 0in 0pt;line-height:normal;mso-layout-grid-align:none;"&gt;&lt;font face="Consolas"&gt;&lt;span style="mso-bidi-font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font style="font-size:9.5pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;font style="font-size:9.5pt;"&gt;&lt;span style="mso-bidi-font-family:consolas;"&gt;&lt;font color="#0000ff"&gt;var&lt;/font&gt;&lt;/span&gt;&lt;span style="mso-bidi-font-family:consolas;"&gt; attrs = &lt;/span&gt;&lt;span style="mso-bidi-font-family:consolas;"&gt;&lt;font color="#0000ff"&gt;typeof&lt;/font&gt;&lt;/span&gt;&lt;span style="mso-bidi-font-family:consolas;"&gt;(&lt;/span&gt;&lt;span style="mso-bidi-font-family:consolas;"&gt;&lt;font color="#2b91af"&gt;Startup&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;span style="mso-bidi-font-family:consolas;"&gt;&lt;font style="font-size:9.5pt;"&gt;)         &lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;span style="mso-bidi-font-family:consolas;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:9.5pt;"&gt;.GetTypeInfo()         &lt;br /&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="mso-bidi-font-family:consolas;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:9.5pt;"&gt;.Assembly.GetCustomAttributes();&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="mso-bidi-font-family:consolas;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:9.5pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="list-style-type:disc;margin:0in 0in 0pt;line-height:normal;mso-layout-grid-align:none;"&gt;&lt;span style="mso-bidi-font-family:consolas;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:9.5pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="list-style-type:disc;margin:0in 0in 0pt;line-height:normal;mso-layout-grid-align:none;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:9.5pt;"&gt;&lt;span style="mso-bidi-font-family:consolas;"&gt;&lt;font color="#0000ff"&gt;var&lt;/font&gt;&lt;/span&gt;&lt;span style="mso-bidi-font-family:consolas;"&gt; runtimeVersion = &lt;/span&gt;&lt;span style="mso-bidi-font-family:consolas;"&gt;&lt;font color="#0000ff"&gt;typeof&lt;/font&gt;&lt;/span&gt;&lt;span style="mso-bidi-font-family:consolas;"&gt;(&lt;/span&gt;&lt;span style="mso-bidi-font-family:consolas;"&gt;&lt;font color="#2b91af"&gt;Startup&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;span style="mso-bidi-font-family:consolas;"&gt;&lt;font style="font-size:9.5pt;"&gt;)&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="list-style-type:disc;margin:0in 0in 0pt;line-height:normal;mso-layout-grid-align:none;"&gt;&lt;span style="mso-bidi-font-family:consolas;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:9.5pt;"&gt;.GetTypeInfo()&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="list-style-type:disc;margin:0in 0in 0pt;line-height:normal;mso-layout-grid-align:none;"&gt;&lt;span style="mso-bidi-font-family:consolas;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:9.5pt;"&gt;.Assembly&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="list-style-type:disc;margin:0in 0in 0pt;line-height:normal;mso-layout-grid-align:none;"&gt;&lt;font face="Consolas"&gt;&lt;span style="mso-bidi-font-family:consolas;"&gt;&lt;font style="font-size:9.5pt;"&gt;.GetCustomAttribute&amp;lt;&lt;/font&gt;&lt;/span&gt;&lt;font style="font-size:9.5pt;"&gt;&lt;span style="mso-bidi-font-family:consolas;"&gt;&lt;font color="#2b91af"&gt;AssemblyFileVersionAttribute&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;span style="mso-bidi-font-family:consolas;"&gt;&lt;font style="font-size:9.5pt;"&gt;&amp;gt;();         &lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;&lt;span style="mso-bidi-font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font style="font-size:9.5pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="list-style-type:disc;margin:0in 0in 0pt;line-height:normal;mso-layout-grid-align:none;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:9.5pt;"&gt;&lt;span style="mso-bidi-font-family:consolas;"&gt;&lt;font color="#0000ff"&gt;var&lt;/font&gt;&lt;/span&gt;&lt;span style="mso-bidi-font-family:consolas;"&gt; tokens = runtimeVersion.Version.Split(&lt;/span&gt;&lt;span style="mso-bidi-font-family:consolas;"&gt;&lt;font color="#a31515"&gt;&amp;#39;.&amp;#39;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;span style="mso-bidi-font-family:consolas;"&gt;&lt;font style="font-size:9.5pt;"&gt;);         &lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;span style="mso-bidi-font-family:consolas;"&gt;&lt;font face="Consolas"&gt;&lt;font style="font-size:9.5pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="list-style-type:disc;margin:0in 0in 8pt;line-height:12pt;"&gt;&lt;font face="Consolas"&gt;&lt;span style="line-height:10pt;mso-bidi-font-family:consolas;"&gt;&lt;font style="font-size:9.5pt;"&gt;m_Version = &lt;/font&gt;&lt;/span&gt;&lt;font style="font-size:9.5pt;"&gt;&lt;span style="line-height:10pt;mso-bidi-font-family:consolas;"&gt;&lt;font color="#0000ff"&gt;new&lt;/font&gt;&lt;/span&gt;&lt;span style="line-height:10pt;mso-bidi-font-family:consolas;"&gt; &lt;/span&gt;&lt;span style="line-height:10pt;mso-bidi-font-family:consolas;"&gt;&lt;font color="#2b91af"&gt;Version&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;span style="line-height:10pt;mso-bidi-font-family:consolas;"&gt;&lt;font style="font-size:9.5pt;"&gt;(runtimeVersion.Version)&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://developers.de/aggbug.aspx?PostID=1807240" width="1" height="1"&gt;</description><category domain="http://developers.de/blogs/damir_dobric/archive/tags/Asp.Net/default.aspx">Asp.Net</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/Core.Net/default.aspx">Core.Net</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/asp/default.aspx">asp</category></item><item><title>What is really supported in German Azure DCs?</title><link />http://developers.de/blogs/damir_dobric/archive/2017/06/13/what-is-really-supported-in-german-azure-dcs.aspx<pubdate>Tue, 13 Jun 2017 08:36:00 GMT</pubdate><guid ispermalink="false">7e491611-45ad-4dae-a68f-c4cb64439510:1806918</guid><dc:creator>Damir Dobric</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Hosting of a Cloud is really, really complex task. Even keeping of documentation in sync with deployment of several resources is incredibly complicate. I stuck in many documents, roadmaps etc. And over and over again, by writing of software dedicated for some exclusive club DCs&amp;#160; might be a challenge.&lt;/p&gt;  &lt;p&gt;Just imagine you want to create or delete some resource. To do this, you will implicitly have to provide API version of the resource provider API. Usually the API is transparent for you, because you will (you should) typically use some SDK, which hides that from us. This is a nice simplification, but we are open source now. That means that SDK cannot follow the speed of shipping of resources as we learned it in a past. The high cadency is very innovative way of making things, but building of SDKs and writing of documentation become a new challenge of the century. That turns out, we will more often have to dig deep in the system to be sure to do a right thing.&lt;/p&gt;  &lt;p&gt;For this reason I wrote a simple application, which dumps out all deployed resource providers in one hosting DC.   &lt;br /&gt;This post is a dump of all providers available in German DCs at time of writing of this post.&amp;#160; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;ProviderId:/subscriptions/1e498be8-9b44-43e5-8a7e-96e59ecbfe78/providers/Microsoft.Devices   &lt;br /&gt;Locations: Germany Central, Germany Northeast    &lt;br /&gt;ResourceType: checkNameAvailability    &lt;br /&gt;API: 2017-01-19, 2016-02-03, 2015-08-15-preview&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: operations    &lt;br /&gt;API: 2017-01-19, 2016-02-03, 2015-08-15-preview&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: IotHubs    &lt;br /&gt;API: 2017-01-19, 2016-02-03, 2015-08-15-preview&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;ProviderId:/subscriptions/1e498be8-9b44-43e5-8a7e-96e59ecbfe78/providers/Microsoft.DocumentDB    &lt;br /&gt;Locations: Germany Central, Germany Northeast    &lt;br /&gt;ResourceType: databaseAccounts    &lt;br /&gt;API: 2015-04-08, 2014-04-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: databaseAccountNames    &lt;br /&gt;API: 2015-04-08, 2014-04-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: operations    &lt;br /&gt;API: 2015-04-08, 2014-04-01&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;ProviderId:/subscriptions/1e498be8-9b44-43e5-8a7e-96e59ecbfe78/providers/Microsoft.EventHub    &lt;br /&gt;Locations: Germany Central, Germany Northeast    &lt;br /&gt;ResourceType: namespaces    &lt;br /&gt;API: 2015-08-01, 2014-09-01&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: checkNamespaceAvailability    &lt;br /&gt;API: 2015-08-01, 2014-09-01&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: checkNameAvailability    &lt;br /&gt;API: 2015-08-01, 2014-09-01&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: sku    &lt;br /&gt;API: 2015-08-01, 2014-09-01&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: operations    &lt;br /&gt;API: 2015-08-01, 2014-09-01&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;ProviderId:/subscriptions/1e498be8-9b44-43e5-8a7e-96e59ecbfe78/providers/microsoft.insights    &lt;br /&gt;Locations: Germany Northeast, Germany Central    &lt;br /&gt;ResourceType: alertrules    &lt;br /&gt;API: 2016-03-01, 2015-04-01, 2014-04-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Northeast, Germany Central   &lt;br /&gt;ResourceType: autoscalesettings    &lt;br /&gt;API: 2015-04-01, 2014-04-01&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: eventtypes    &lt;br /&gt;API: 2017-03-01-preview, 2016-09-01-preview, 2015-04-01, 2014-11-01, 2014-04-01&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: eventCategories    &lt;br /&gt;API: 2015-04-01&lt;/p&gt;  &lt;p&gt;Locations: Global   &lt;br /&gt;ResourceType: actiongroups    &lt;br /&gt;API: 2017-04-01&lt;/p&gt;  &lt;p&gt;Locations: Global   &lt;br /&gt;ResourceType: activityLogAlerts    &lt;br /&gt;API: 2017-04-01, 2017-03-01-preview&lt;/p&gt;  &lt;p&gt;Locations: Germany Northeast, Germany Central   &lt;br /&gt;ResourceType: diagnosticSettings    &lt;br /&gt;API: 2017-05-01-preview, 2016-09-01, 2015-07-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Northeast, Germany Central   &lt;br /&gt;ResourceType: metricDefinitions    &lt;br /&gt;API: 2017-05-01-preview, 2016-03-01, 2015-07-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Northeast, Germany Central   &lt;br /&gt;ResourceType: logDefinitions    &lt;br /&gt;API: 2015-07-01&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: logprofiles    &lt;br /&gt;API: 2016-03-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Northeast, Germany Central   &lt;br /&gt;ResourceType: metrics    &lt;br /&gt;API: 2017-05-01-preview, 2016-09-01, 2016-06-01&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;ProviderId:/subscriptions/1e498be8-9b44-43e5-8a7e-96e59ecbfe78/providers/Microsoft.Network    &lt;br /&gt;Locations: Germany Central, Germany Northeast    &lt;br /&gt;ResourceType: virtualNetworks    &lt;br /&gt;API: 2017-04-01, 2017-03-01, 2016-12-01, 2016-11-01, 2016-10-01, 2016-09-01, 2016-08-01, 2016-07-01, 2016-06-01, 2016-03-30, 2015-06-15, 2015-05-01-preview, 2014-12-01-preview&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: publicIPAddresses    &lt;br /&gt;API: 2017-04-01, 2017-03-01, 2016-12-01, 2016-11-01, 2016-10-01, 2016-09-01, 2016-08-01, 2016-07-01, 2016-06-01, 2016-03-30, 2015-06-15, 2015-05-01-preview, 2014-12-01-preview&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: networkInterfaces    &lt;br /&gt;API: 2017-04-01, 2017-03-01, 2016-12-01, 2016-11-01, 2016-10-01, 2016-09-01, 2016-08-01, 2016-07-01, 2016-06-01, 2016-03-30, 2015-06-15, 2015-05-01-preview, 2014-12-01-preview&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: loadBalancers    &lt;br /&gt;API: 2017-04-01, 2017-03-01, 2016-12-01, 2016-11-01, 2016-10-01, 2016-09-01, 2016-08-01, 2016-07-01, 2016-06-01, 2016-03-30, 2015-06-15, 2015-05-01-preview, 2014-12-01-preview&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: networkSecurityGroups    &lt;br /&gt;API: 2017-04-01, 2017-03-01, 2016-12-01, 2016-11-01, 2016-10-01, 2016-09-01, 2016-08-01, 2016-07-01, 2016-06-01, 2016-03-30, 2015-06-15, 2015-05-01-preview, 2014-12-01-preview&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: routeTables    &lt;br /&gt;API: 2017-04-01, 2017-03-01, 2016-12-01, 2016-11-01, 2016-10-01, 2016-09-01, 2016-08-01, 2016-07-01, 2016-06-01, 2016-03-30, 2015-06-15, 2015-05-01-preview, 2014-12-01-preview&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: virtualNetworkGateways    &lt;br /&gt;API: 2017-04-01, 2017-03-01, 2016-12-01, 2016-11-01, 2016-10-01, 2016-09-01, 2016-08-01, 2016-07-01, 2016-06-01, 2016-03-30, 2015-06-15, 2015-05-01-preview, 2014-12-01-preview&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: localNetworkGateways    &lt;br /&gt;API: 2017-04-01, 2017-03-01, 2016-12-01, 2016-11-01, 2016-10-01, 2016-09-01, 2016-08-01, 2016-07-01, 2016-06-01, 2016-03-30, 2015-06-15, 2015-05-01-preview, 2014-12-01-preview&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: connections    &lt;br /&gt;API: 2017-04-01, 2017-03-01, 2016-12-01, 2016-11-01, 2016-10-01, 2016-09-01, 2016-08-01, 2016-07-01, 2016-06-01, 2016-03-30, 2015-06-15, 2015-05-01-preview, 2014-12-01-preview&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: applicationGateways    &lt;br /&gt;API: 2017-04-01, 2017-03-01, 2016-12-01, 2016-11-01, 2016-10-01, 2016-09-01, 2016-08-01, 2016-07-01, 2016-06-01, 2016-03-30, 2015-06-15, 2015-05-01-preview, 2014-12-01-preview&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: locations    &lt;br /&gt;API: 2017-04-01, 2017-03-01, 2016-12-01, 2016-11-01, 2016-10-01, 2016-09-01, 2016-08-01, 2016-07-01, 2016-06-01, 2016-03-30, 2015-06-15, 2015-05-01-preview, 2014-12-01-preview&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: locations/operations    &lt;br /&gt;API: 2017-04-01, 2017-03-01, 2016-12-01, 2016-11-01, 2016-10-01, 2016-09-01, 2016-08-01, 2016-07-01, 2016-06-01, 2016-03-30, 2015-06-15, 2015-05-01-preview, 2014-12-01-preview&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: locations/operationResults    &lt;br /&gt;API: 2017-04-01, 2017-03-01, 2016-12-01, 2016-11-01, 2016-10-01, 2016-09-01, 2016-08-01, 2016-07-01, 2016-06-01, 2016-03-30, 2015-06-15, 2015-05-01-preview, 2014-12-01-preview&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: locations/CheckDnsNameAvailability    &lt;br /&gt;API: 2017-04-01, 2017-03-01, 2016-12-01, 2016-11-01, 2016-10-01, 2016-09-01, 2016-08-01, 2016-07-01, 2016-06-01, 2016-03-30, 2015-06-15, 2015-05-01-preview, 2014-12-01-preview&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: locations/usages    &lt;br /&gt;API: 2017-04-01, 2017-03-01, 2016-12-01, 2016-11-01, 2016-10-01, 2016-09-01, 2016-08-01, 2016-07-01, 2016-06-01, 2016-03-30, 2015-06-15, 2015-05-01-preview, 2014-12-01-preview&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: operations    &lt;br /&gt;API: 2017-04-01, 2017-03-01, 2016-12-01, 2016-11-01, 2016-10-01, 2016-09-01, 2016-08-01, 2016-07-01, 2016-06-01, 2016-03-30, 2015-06-15, 2015-05-01-preview, 2014-12-01-preview&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: routeFilters    &lt;br /&gt;API: 2017-04-01, 2017-03-01, 2016-12-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: expressRouteCircuits    &lt;br /&gt;API: 2017-04-01, 2017-03-01, 2016-12-01, 2016-11-01, 2016-10-01, 2016-09-01, 2016-08-01, 2016-07-01, 2016-06-01, 2016-03-30, 2015-06-15, 2015-05-01-preview, 2014-12-01-preview&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: expressRouteServiceProviders    &lt;br /&gt;API: 2017-04-01, 2017-03-01, 2016-12-01, 2016-11-01, 2016-10-01, 2016-09-01, 2016-08-01, 2016-07-01, 2016-06-01, 2016-03-30, 2015-06-15, 2015-05-01-preview, 2014-12-01-preview&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: bgpServiceCommunities    &lt;br /&gt;API: 2017-04-01, 2017-03-01, 2016-12-01&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: applicationGatewayAvailableWafRuleSets    &lt;br /&gt;API: 2017-04-01, 2017-03-01&lt;/p&gt;  &lt;p&gt;Locations: global   &lt;br /&gt;ResourceType: trafficmanagerprofiles    &lt;br /&gt;API: 2017-05-01, 2017-03-01, 2015-11-01&lt;/p&gt;  &lt;p&gt;Locations: global   &lt;br /&gt;ResourceType: checkTrafficManagerNameAvailability    &lt;br /&gt;API: 2017-05-01, 2017-03-01, 2015-11-01&lt;/p&gt;  &lt;p&gt;Locations: global   &lt;br /&gt;ResourceType: trafficManagerGeographicHierarchies    &lt;br /&gt;API: 2017-05-01, 2017-03-01&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: serviceTunnelServices    &lt;br /&gt;API: 2017-04-01&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;ProviderId:/subscriptions/1e498be8-9b44-43e5-8a7e-96e59ecbfe78/providers/Microsoft.ServiceBus    &lt;br /&gt;Locations: Germany Central, Germany Northeast    &lt;br /&gt;ResourceType: namespaces    &lt;br /&gt;API: 2015-08-01, 2014-09-01&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: checkNamespaceAvailability    &lt;br /&gt;API: 2015-08-01, 2014-09-01&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: checkNameAvailability    &lt;br /&gt;API: 2015-08-01, 2014-09-01&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: premiumMessagingRegions    &lt;br /&gt;API: 2015-08-01, 2014-09-01&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: sku    &lt;br /&gt;API: 2015-08-01, 2014-09-01&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: operations    &lt;br /&gt;API: 2015-08-01, 2014-09-01&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;ProviderId:/subscriptions/1e498be8-9b44-43e5-8a7e-96e59ecbfe78/providers/Microsoft.Sql    &lt;br /&gt;Locations: Germany Central, Germany Northeast    &lt;br /&gt;ResourceType: operations    &lt;br /&gt;API: 2014-04-01-preview, 2014-04-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: locations    &lt;br /&gt;API: 2014-04-01-preview, 2014-04-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: locations/capabilities    &lt;br /&gt;API: 2014-04-01-preview, 2014-04-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: locations/usages    &lt;br /&gt;API: 2014-04-01-preview&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: checkNameAvailability    &lt;br /&gt;API: 2014-04-01-preview, 2014-04-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: servers    &lt;br /&gt;API: 2014-04-01-preview, 2014-04-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: servers/databases    &lt;br /&gt;API: 2015-05-01-preview, 2014-04-01-preview, 2014-04-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: servers/serviceObjectives    &lt;br /&gt;API: 2014-04-01-preview, 2014-04-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: servers/communicationLinks    &lt;br /&gt;API: 2014-04-01-preview, 2014-04-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: servers/administrators    &lt;br /&gt;API: 2014-04-01-preview, 2014-04-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: servers/administratorOperationResults    &lt;br /&gt;API: 2014-04-01-preview, 2014-04-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: servers/restorableDroppedDatabases    &lt;br /&gt;API: 2014-04-01-preview, 2014-04-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: servers/recoverableDatabases    &lt;br /&gt;API: 2014-04-01-preview, 2014-04-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: servers/import    &lt;br /&gt;API: 2014-04-01-preview, 2014-04-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: servers/importExportOperationResults    &lt;br /&gt;API: 2014-04-01-preview, 2014-04-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: servers/operationResults    &lt;br /&gt;API: 2014-04-01-preview, 2014-04-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: servers/firewallrules    &lt;br /&gt;API: 2014-04-01-preview, 2014-04-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: servers/databaseSecurityPolicies    &lt;br /&gt;API: 2014-04-01-preview, 2014-04-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: servers/auditingPolicies    &lt;br /&gt;API: 2014-04-01-preview, 2014-04-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: servers/recommendedElasticPools    &lt;br /&gt;API: 2014-04-01-preview, 2014-04-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: servers/databases/auditingPolicies    &lt;br /&gt;API: 2014-04-01-preview, 2014-04-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: servers/databases/connectionPolicies    &lt;br /&gt;API: 2014-04-01-preview, 2014-04-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: servers/connectionPolicies    &lt;br /&gt;API: 2014-04-01-preview, 2014-04-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: servers/databases/dataMaskingPolicies    &lt;br /&gt;API: 2014-04-01-preview, 2014-04-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: servers/databases/dataMaskingPolicies/rules    &lt;br /&gt;API: 2014-04-01-preview, 2014-04-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: servers/databases/securityAlertPolicies    &lt;br /&gt;API: 2014-04-01-preview, 2014-04-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: servers/securityAlertPolicies    &lt;br /&gt;API: 2015-05-01-preview&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: servers/databases/auditingSettings    &lt;br /&gt;API: 2015-05-01-preview&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: servers/auditingSettings    &lt;br /&gt;API: 2015-05-01-preview&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: servers/elasticpools    &lt;br /&gt;API: 2014-04-01-preview, 2014-04-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: servers/failoverGroups    &lt;br /&gt;API: 2015-05-01-preview&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: locations/failoverGroupAzureAsyncOperation    &lt;br /&gt;API: 2015-05-01-preview&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: locations/failoverGroupOperationResults    &lt;br /&gt;API: 2015-05-01-preview&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: servers/usages    &lt;br /&gt;API: 2014-04-01-preview, 2014-04-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: servers/databases/metricDefinitions    &lt;br /&gt;API: 2014-04-01-preview, 2014-04-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: servers/databases/metrics    &lt;br /&gt;API: 2014-04-01-preview, 2014-04-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: servers/elasticpools/metrics    &lt;br /&gt;API: 2014-04-01-preview, 2014-04-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: servers/elasticpools/metricdefinitions    &lt;br /&gt;API: 2014-04-01-preview, 2014-04-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: servers/databases/topQueries    &lt;br /&gt;API: 2014-04-01-preview, 2014-04-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: servers/databases/topQueries/queryText    &lt;br /&gt;API: 2014-04-01-preview, 2014-04-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: servers/advisors    &lt;br /&gt;API: 2015-05-01-preview, 2014-04-01-preview, 2014-04-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: servers/elasticPools/advisors    &lt;br /&gt;API: 2015-05-01-preview, 2014-04-01-preview, 2014-04-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: servers/databases/advisors    &lt;br /&gt;API: 2015-05-01-preview, 2014-04-01-preview, 2014-04-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: servers/elasticPoolEstimates    &lt;br /&gt;API: 2015-05-01-preview&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: servers/databases/auditRecords    &lt;br /&gt;API: 2015-05-01-preview&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;ProviderId:/subscriptions/1e498be8-9b44-43e5-8a7e-96e59ecbfe78/providers/Microsoft.Storage    &lt;br /&gt;Locations: Germany Central, Germany Northeast    &lt;br /&gt;ResourceType: storageAccounts    &lt;br /&gt;API: 2017-06-01, 2016-12-01, 2016-05-01, 2016-01-01, 2015-06-15, 2015-05-01-preview&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: storageAccounts/listAccountSas    &lt;br /&gt;API: 2017-06-01, 2016-12-01, 2016-05-01&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: operations    &lt;br /&gt;API: 2017-06-01, 2016-12-01, 2016-05-01, 2016-01-01, 2015-06-15, 2015-05-01-preview&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: usages    &lt;br /&gt;API: 2017-06-01, 2016-12-01, 2016-05-01, 2016-01-01, 2015-06-15, 2015-05-01-preview&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: checkNameAvailability    &lt;br /&gt;API: 2017-06-01, 2016-12-01, 2016-05-01, 2016-01-01, 2015-06-15, 2015-05-01-preview&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;ProviderId:/subscriptions/1e498be8-9b44-43e5-8a7e-96e59ecbfe78/providers/Microsoft.StreamAnalytics    &lt;br /&gt;Locations: Germany Central, Germany Northeast    &lt;br /&gt;ResourceType: streamingjobs    &lt;br /&gt;API: 2017-04-01-preview, 2016-03-01, 2015-11-01, 2015-10-01, 2015-09-01, 2015-08-01-preview, 2015-06-01, 2015-05-01, 2015-04-01, 2015-03-01-preview&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: locations    &lt;br /&gt;API: 2017-04-01-preview, 2016-03-01, 2015-11-01, 2015-10-01, 2015-09-01, 2015-08-01-preview, 2015-06-01, 2015-05-01, 2015-04-01, 2015-03-01-preview&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: locations/quotas    &lt;br /&gt;API: 2017-04-01-preview, 2016-03-01, 2015-11-01, 2015-10-01, 2015-09-01, 2015-08-01-preview, 2015-06-01, 2015-05-01, 2015-04-01, 2015-03-01-preview&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: operations    &lt;br /&gt;API: 2017-04-01-preview, 2016-03-01, 2015-11-01, 2015-10-01, 2015-09-01, 2015-08-01-preview, 2015-06-01, 2015-05-01, 2015-04-01, 2014-04-01&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;ProviderId:/subscriptions/1e498be8-9b44-43e5-8a7e-96e59ecbfe78/providers/Microsoft.Web    &lt;br /&gt;Locations: Germany Central, Germany Northeast    &lt;br /&gt;ResourceType: sites/extensions    &lt;br /&gt;API: 2016-08-01, 2016-03-01, 2015-08-01, 2015-07-01, 2015-06-01, 2015-05-01, 2015-04-01, 2015-02-01, 2014-11-01, 2014-06-01, 2014-04-01-preview, 2014-04-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: sites/slots/extensions    &lt;br /&gt;API: 2016-08-01, 2016-03-01, 2015-08-01, 2015-07-01, 2015-06-01, 2015-05-01, 2015-04-01, 2015-02-01, 2014-11-01, 2014-06-01, 2014-04-01-preview, 2014-04-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: sites/instances    &lt;br /&gt;API: 2016-08-01, 2016-03-01, 2015-08-01, 2015-07-01, 2015-06-01, 2015-05-01, 2015-04-01, 2015-02-01, 2014-11-01, 2014-06-01, 2014-04-01-preview, 2014-04-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: sites/slots/instances    &lt;br /&gt;API: 2016-08-01, 2016-03-01, 2015-08-01, 2015-07-01, 2015-06-01, 2015-05-01, 2015-04-01, 2015-02-01, 2014-11-01, 2014-06-01, 2014-04-01-preview, 2014-04-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: sites/instances/extensions    &lt;br /&gt;API: 2016-08-01, 2016-03-01, 2015-08-01, 2015-07-01, 2015-06-01, 2015-05-01, 2015-04-01, 2015-02-01, 2014-11-01, 2014-06-01, 2014-04-01-preview, 2014-04-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: sites/slots/instances/extensions    &lt;br /&gt;API: 2016-08-01, 2016-03-01, 2015-08-01, 2015-07-01, 2015-06-01, 2015-05-01, 2015-04-01, 2015-02-01, 2014-11-01, 2014-06-01, 2014-04-01-preview, 2014-04-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: publishingUsers    &lt;br /&gt;API: 2016-03-01, 2015-08-01, 2015-07-01, 2015-06-01, 2015-05-01, 2015-04-01, 2015-02-01, 2014-11-01, 2014-06-01, 2014-04-01-preview, 2014-04-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: ishostnameavailable    &lt;br /&gt;API: 2016-03-01, 2015-08-01, 2015-07-01, 2015-06-01, 2015-05-01, 2015-04-01, 2015-02-01, 2014-11-01, 2014-06-01, 2014-04-01-preview, 2014-04-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: sourceControls    &lt;br /&gt;API: 2016-03-01, 2015-08-01, 2015-07-01, 2015-06-01, 2015-05-01, 2015-04-01, 2015-02-01, 2014-11-01, 2014-06-01, 2014-04-01-preview, 2014-04-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: availableStacks    &lt;br /&gt;API: 2016-03-01, 2015-08-01, 2015-07-01, 2015-06-01, 2015-05-01, 2015-04-01, 2015-02-01, 2014-11-01, 2014-06-01, 2014-04-01-preview, 2014-04-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: listSitesAssignedToHostName    &lt;br /&gt;API: 2016-03-01, 2015-08-01, 2015-07-01, 2015-06-01, 2015-05-01, 2015-04-01, 2015-02-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: sites/hostNameBindings    &lt;br /&gt;API: 2016-08-01, 2016-03-01, 2015-08-01, 2015-07-01, 2015-06-01, 2015-05-01, 2015-04-01, 2015-02-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: sites/slots/hostNameBindings    &lt;br /&gt;API: 2016-08-01, 2016-03-01, 2015-08-01, 2015-07-01, 2015-06-01, 2015-05-01, 2015-04-01, 2015-02-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: operations    &lt;br /&gt;API: 2016-03-01, 2015-08-01, 2015-07-01, 2015-06-01, 2015-05-01, 2015-04-01, 2015-02-01, 2014-11-01, 2014-06-01, 2014-04-01-preview, 2014-04-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: certificates    &lt;br /&gt;API: 2016-03-01, 2015-08-01, 2015-07-01, 2015-06-01, 2015-05-01, 2015-04-01, 2015-02-01, 2014-11-01, 2014-06-01, 2014-04-01-preview, 2014-04-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: serverFarms    &lt;br /&gt;API: 2016-09-01, 2016-03-01, 2015-08-01, 2015-07-01, 2015-06-01, 2015-05-01, 2015-04-01, 2015-02-01, 2014-11-01, 2014-06-01, 2014-04-01-preview, 2014-04-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: sites    &lt;br /&gt;API: 2016-08-01, 2016-03-01, 2015-08-01, 2015-07-01, 2015-06-01, 2015-05-01, 2015-04-01, 2015-02-01, 2014-11-01, 2014-06-01, 2014-04-01-preview, 2014-04-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: sites/slots    &lt;br /&gt;API: 2016-08-01, 2016-03-01, 2015-08-01, 2015-07-01, 2015-06-01, 2015-05-01, 2015-04-01, 2015-02-01, 2014-11-01, 2014-06-01, 2014-04-01-preview, 2014-04-01&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: runtimes    &lt;br /&gt;API: 2016-03-01, 2015-08-01, 2015-07-01, 2015-06-01, 2015-05-01, 2015-04-01, 2015-02-01, 2014-11-01, 2014-06-01, 2014-04-01&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: georegions    &lt;br /&gt;API: 2016-03-01, 2015-08-01, 2015-07-01, 2015-06-01, 2015-05-01, 2015-04-01, 2015-02-01, 2014-11-01, 2014-06-01, 2014-04-01-preview, 2014-04-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: sites/premieraddons    &lt;br /&gt;API: 2016-08-01, 2016-03-01, 2015-08-01, 2015-07-01, 2015-06-01, 2015-05-01, 2015-04-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: hostingEnvironments    &lt;br /&gt;API: 2016-09-01, 2016-03-01, 2015-08-01, 2015-07-01, 2015-06-01, 2015-05-01, 2015-04-01, 2015-02-01, 2014-11-01, 2014-06-01, 2014-04-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: hostingEnvironments/multiRolePools    &lt;br /&gt;API: 2016-09-01, 2016-03-01, 2015-08-01, 2015-07-01, 2015-06-01, 2015-05-01, 2015-04-01, 2015-02-01, 2014-11-01, 2014-06-01, 2014-04-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: hostingEnvironments/workerPools    &lt;br /&gt;API: 2016-09-01, 2016-03-01, 2015-08-01, 2015-07-01, 2015-06-01, 2015-05-01, 2015-04-01, 2015-02-01, 2014-11-01, 2014-06-01, 2014-04-01&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: hostingEnvironments/multiRolePools/instances    &lt;br /&gt;API: 2016-09-01, 2016-03-01, 2015-08-01, 2015-07-01, 2015-06-01, 2015-05-01, 2015-04-01, 2015-02-01, 2014-11-01, 2014-06-01, 2014-04-01-preview, 2014-04-01&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: hostingEnvironments/workerPools/instances    &lt;br /&gt;API: 2016-09-01, 2016-03-01, 2015-08-01, 2015-07-01, 2015-06-01, 2015-05-01, 2015-04-01, 2015-02-01, 2014-11-01, 2014-06-01, 2014-04-01-preview, 2014-04-01&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: deploymentLocations    &lt;br /&gt;API: 2016-03-01, 2015-08-01, 2015-07-01, 2015-06-01, 2015-05-01, 2015-04-01, 2015-02-01, 2014-11-01, 2014-06-01, 2014-04-01-preview, 2014-04-01&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: ishostingenvironmentnameavailable    &lt;br /&gt;API: 2016-03-01, 2015-08-01, 2015-07-01, 2015-06-01, 2015-05-01, 2015-04-01, 2015-02-01, 2014-11-01, 2014-06-01, 2014-04-01-preview, 2014-04-01&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: checkNameAvailability    &lt;br /&gt;API: 2015-08-01&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;ProviderId:/subscriptions/1e498be8-9b44-43e5-8a7e-96e59ecbfe78/providers/Microsoft.ADHybridHealthService    &lt;br /&gt;Locations: Germany Central, Germany NorthEast    &lt;br /&gt;ResourceType: services    &lt;br /&gt;API: 2014-01-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany NorthEast   &lt;br /&gt;ResourceType: addsservices    &lt;br /&gt;API: 2014-01-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany NorthEast   &lt;br /&gt;ResourceType: configuration    &lt;br /&gt;API: 2014-01-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany NorthEast   &lt;br /&gt;ResourceType: operations    &lt;br /&gt;API: 2014-01-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany NorthEast   &lt;br /&gt;ResourceType: agents    &lt;br /&gt;API: 2014-01-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany NorthEast   &lt;br /&gt;ResourceType: aadsupportcases    &lt;br /&gt;API: 2014-01-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany NorthEast   &lt;br /&gt;ResourceType: reports    &lt;br /&gt;API: 2014-01-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany NorthEast   &lt;br /&gt;ResourceType: servicehealthmetrics    &lt;br /&gt;API: 2014-01-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany NorthEast   &lt;br /&gt;ResourceType: logs    &lt;br /&gt;API: 2014-01-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany NorthEast   &lt;br /&gt;ResourceType: anonymousapiusers    &lt;br /&gt;API: 2014-01-01&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;ProviderId:/subscriptions/1e498be8-9b44-43e5-8a7e-96e59ecbfe78/providers/Microsoft.Authorization    &lt;br /&gt;Locations:     &lt;br /&gt;ResourceType: roleAssignments    &lt;br /&gt;API: 2015-07-01, 2015-06-01, 2015-05-01-preview, 2014-10-01-preview, 2014-07-01-preview, 2014-04-01-preview&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: roleDefinitions    &lt;br /&gt;API: 2015-07-01, 2015-06-01, 2015-05-01-preview, 2014-10-01-preview, 2014-07-01-preview, 2014-04-01-preview&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: classicAdministrators    &lt;br /&gt;API: 2015-06-01, 2015-05-01-preview, 2014-10-01-preview, 2014-07-01-preview, 2014-04-01-preview&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: permissions    &lt;br /&gt;API: 2015-07-01, 2015-06-01, 2015-05-01-preview, 2014-10-01-preview, 2014-07-01-preview, 2014-04-01-preview&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: locks    &lt;br /&gt;API: 2016-09-01, 2015-06-01, 2015-05-01-preview, 2015-01-01&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: operations    &lt;br /&gt;API: 2015-07-01, 2015-01-01, 2014-10-01-preview, 2014-06-01&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: policyDefinitions    &lt;br /&gt;API: 2016-12-01, 2016-04-01, 2015-10-01-preview&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: policyAssignments    &lt;br /&gt;API: 2016-12-01, 2016-04-01, 2015-10-01-preview&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: providerOperations    &lt;br /&gt;API: 2015-07-01-preview, 2015-07-01&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: elevateAccess    &lt;br /&gt;API: 2016-07-01, 2015-07-01, 2015-06-01, 2015-05-01-preview, 2014-10-01-preview, 2014-07-01-preview, 2014-04-01-preview&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;ProviderId:/subscriptions/1e498be8-9b44-43e5-8a7e-96e59ecbfe78/providers/Microsoft.Batch    &lt;br /&gt;Locations: Germany Central, Germany Northeast    &lt;br /&gt;ResourceType: batchAccounts    &lt;br /&gt;API: 2017-05-01, 2017-01-01, 2015-12-01, 2015-09-01, 2015-07-01, 2014-05-01-privatepreview&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: operations    &lt;br /&gt;API: 2017-05-01, 2017-01-01, 2015-12-01, 2015-09-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central   &lt;br /&gt;ResourceType: locations    &lt;br /&gt;API: 2017-05-01, 2017-01-01, 2015-12-01, 2015-09-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: locations/quotas    &lt;br /&gt;API: 2017-05-01, 2017-01-01, 2015-12-01, 2015-09-01&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;ProviderId:/subscriptions/1e498be8-9b44-43e5-8a7e-96e59ecbfe78/providers/Microsoft.Cache    &lt;br /&gt;Locations: Germany Central, Germany NorthEast    &lt;br /&gt;ResourceType: Redis    &lt;br /&gt;API: 2016-04-01, 2015-08-01, 2015-03-01, 2014-04-01-preview, 2014-04-01-alpha, 2014-04-01&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: locations    &lt;br /&gt;API: 2016-04-01, 2015-08-01, 2015-03-01, 2014-04-01-preview, 2014-04-01-alpha, 2014-04-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany NorthEast   &lt;br /&gt;ResourceType: locations/operationResults    &lt;br /&gt;API: 2016-04-01, 2015-08-01, 2015-03-01, 2014-04-01-preview, 2014-04-01-alpha, 2014-04-01&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: checkNameAvailability    &lt;br /&gt;API: 2016-04-01, 2015-08-01, 2015-03-01, 2014-04-01-preview, 2014-04-01-alpha, 2014-04-01&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: operations    &lt;br /&gt;API: 2016-04-01, 2015-08-01, 2015-03-01, 2014-04-01-preview, 2014-04-01-alpha, 2014-04-01&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;ProviderId:/subscriptions/1e498be8-9b44-43e5-8a7e-96e59ecbfe78/providers/Microsoft.ClassicCompute    &lt;br /&gt;Locations: Germany Central, Germany Northeast    &lt;br /&gt;ResourceType: domainNames    &lt;br /&gt;API: 2016-04-01, 2015-12-01, 2015-10-01, 2015-06-01, 2014-06-01, 2014-01-01&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: checkDomainNameAvailability    &lt;br /&gt;API: 2016-04-01, 2015-12-01, 2015-10-01, 2015-06-01, 2014-06-01, 2014-01-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: domainNames/slots    &lt;br /&gt;API: 2016-04-01, 2015-12-01, 2015-10-01, 2015-06-01, 2014-06-01, 2014-01-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: domainNames/slots/roles    &lt;br /&gt;API: 2016-04-01, 2015-12-01, 2015-10-01, 2015-06-01, 2014-06-01, 2014-01-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: virtualMachines    &lt;br /&gt;API: 2016-04-01, 2015-12-01, 2015-10-01, 2015-06-01, 2014-06-01, 2014-04-01, 2014-01-01&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: capabilities    &lt;br /&gt;API: 2016-04-01, 2015-12-01, 2015-10-01, 2015-06-01, 2014-06-01&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: quotas    &lt;br /&gt;API: 2016-04-01, 2015-12-01, 2015-10-01, 2015-06-01, 2014-06-01, 2014-01-01&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: operations    &lt;br /&gt;API: 2016-04-01, 2015-12-01, 2015-10-01, 2015-06-01, 2014-06-01, 2014-04-01, 2014-01-01&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: resourceTypes    &lt;br /&gt;API: 2016-04-01, 2015-12-01, 2015-10-01, 2015-06-01, 2014-06-01&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: moveSubscriptionResources    &lt;br /&gt;API: 2016-04-01, 2015-12-01, 2015-10-01&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: validateSubscriptionMoveAvailability    &lt;br /&gt;API: 2016-04-01, 2015-12-01, 2015-10-01&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: operationStatuses    &lt;br /&gt;API: 2016-04-01, 2015-12-01, 2015-10-01&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: operatingSystems    &lt;br /&gt;API: 2016-04-01, 2015-12-01, 2015-10-01, 2015-06-01, 2014-06-01, 2014-04-01, 2014-01-01&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: operatingSystemFamilies    &lt;br /&gt;API: 2016-04-01, 2015-12-01, 2015-10-01, 2015-06-01, 2014-06-01, 2014-04-01, 2014-01-01&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;ProviderId:/subscriptions/1e498be8-9b44-43e5-8a7e-96e59ecbfe78/providers/Microsoft.ClassicNetwork    &lt;br /&gt;Locations: Germany Central, Germany Northeast    &lt;br /&gt;ResourceType: virtualNetworks    &lt;br /&gt;API: 2016-04-01, 2015-12-01, 2015-06-01, 2014-06-01, 2014-01-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: reservedIps    &lt;br /&gt;API: 2016-04-01, 2015-12-01, 2015-06-01, 2014-06-01, 2014-01-01&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: quotas    &lt;br /&gt;API: 2016-04-01, 2015-12-01, 2015-06-01, 2014-06-01, 2014-01-01&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: gatewaySupportedDevices    &lt;br /&gt;API: 2016-04-01, 2015-12-01, 2015-06-01, 2014-06-01, 2014-01-01&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: operations    &lt;br /&gt;API: 2016-04-01, 2015-12-01, 2015-06-01, 2014-06-01, 2014-04-01, 2014-01-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: networkSecurityGroups    &lt;br /&gt;API: 2016-04-01, 2015-12-01, 2015-06-01&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: capabilities    &lt;br /&gt;API: 2016-04-01, 2015-12-01, 2015-10-01, 2015-06-01, 2014-06-01&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;ProviderId:/subscriptions/1e498be8-9b44-43e5-8a7e-96e59ecbfe78/providers/Microsoft.ClassicStorage    &lt;br /&gt;Locations: Germany Central, Germany Northeast    &lt;br /&gt;ResourceType: storageAccounts    &lt;br /&gt;API: 2016-04-01, 2015-12-01, 2015-06-01, 2014-06-01, 2014-04-01-beta, 2014-04-01, 2014-01-01&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: quotas    &lt;br /&gt;API: 2016-04-01, 2015-12-01, 2015-06-01, 2014-06-01, 2014-01-01&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: checkStorageAccountAvailability    &lt;br /&gt;API: 2016-04-01, 2015-12-01, 2015-06-01, 2014-06-01, 2014-01-01&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: capabilities    &lt;br /&gt;API: 2016-04-01, 2015-12-01, 2015-06-01, 2014-06-01&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: disks    &lt;br /&gt;API: 2016-04-01, 2015-12-01, 2015-06-01, 2014-06-01&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: images    &lt;br /&gt;API: 2016-04-01, 2015-12-01, 2015-06-01, 2014-06-01&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: publicImages    &lt;br /&gt;API: 2016-04-01&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: osImages    &lt;br /&gt;API: 2016-04-01, 2015-12-01, 2015-06-01, 2014-06-01&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: operations    &lt;br /&gt;API: 2016-04-01, 2015-12-01, 2015-06-01, 2014-06-01, 2014-04-01, 2014-01-01&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;ProviderId:/subscriptions/1e498be8-9b44-43e5-8a7e-96e59ecbfe78/providers/Microsoft.ClassicInfrastructureMigrate    &lt;br /&gt;Locations: Germany Northeast, Germany Central    &lt;br /&gt;ResourceType: classicInfrastructureResources    &lt;br /&gt;API: 2015-06-15&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;ProviderId:/subscriptions/1e498be8-9b44-43e5-8a7e-96e59ecbfe78/providers/Microsoft.Compute    &lt;br /&gt;Locations: Germany Central, Germany Northeast    &lt;br /&gt;ResourceType: availabilitySets    &lt;br /&gt;API: 2017-03-30, 2016-08-30, 2016-04-30-preview, 2016-03-30, 2015-06-15, 2015-05-01-preview&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: virtualMachines    &lt;br /&gt;API: 2017-03-30, 2016-08-30, 2016-04-30-preview, 2016-03-30, 2015-06-15, 2015-05-01-preview&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: virtualMachines/extensions    &lt;br /&gt;API: 2017-03-30, 2016-08-30, 2016-04-30-preview, 2016-03-30, 2015-06-15, 2015-05-01-preview&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: virtualMachineScaleSets    &lt;br /&gt;API: 2017-03-30, 2016-08-30, 2016-04-30-preview, 2016-03-30, 2015-06-15, 2015-05-01-preview&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: virtualMachineScaleSets/extensions    &lt;br /&gt;API: 2017-03-30, 2016-08-30, 2016-04-30-preview, 2016-03-30, 2015-06-15, 2015-05-01-preview&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: virtualMachineScaleSets/virtualMachines    &lt;br /&gt;API: 2017-03-30, 2016-08-30, 2016-04-30-preview, 2016-03-30, 2015-06-15, 2015-05-01-preview&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: virtualMachineScaleSets/networkInterfaces    &lt;br /&gt;API: 2017-03-30, 2016-09-01, 2016-08-01, 2016-07-01, 2016-06-01, 2016-03-30, 2015-06-15, 2015-05-01-preview&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: virtualMachineScaleSets/virtualMachines/networkInterfaces    &lt;br /&gt;API: 2017-03-30, 2016-09-01, 2016-08-01, 2016-07-01, 2016-06-01, 2016-03-30, 2015-06-15, 2015-05-01-preview&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: virtualMachineScaleSets/publicIPAddresses    &lt;br /&gt;API: 2017-03-30&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: locations    &lt;br /&gt;API: 2017-03-30, 2016-08-30, 2016-04-30-preview, 2016-03-30, 2015-06-15, 2015-05-01-preview&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: locations/operations    &lt;br /&gt;API: 2017-03-30, 2016-08-30, 2016-04-30-preview, 2016-03-30, 2015-06-15, 2015-05-01-preview&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: locations/vmSizes    &lt;br /&gt;API: 2017-03-30, 2016-08-30, 2016-04-30-preview, 2016-03-30, 2015-06-15, 2015-05-01-preview&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: locations/runCommands    &lt;br /&gt;API: 2017-03-30&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: locations/usages    &lt;br /&gt;API: 2017-03-30, 2016-08-30, 2016-04-30-preview, 2016-03-30, 2015-06-15, 2015-05-01-preview&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: locations/virtualMachines    &lt;br /&gt;API: 2017-03-30, 2016-08-30&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: locations/publishers    &lt;br /&gt;API: 2017-03-30, 2016-08-30, 2016-04-30-preview, 2016-03-30, 2015-06-15, 2015-05-01-preview&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: operations    &lt;br /&gt;API: 2017-03-30, 2016-08-30, 2016-03-30, 2015-06-15, 2015-05-01-preview&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: restorePointCollections    &lt;br /&gt;API: 2017-03-30&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: restorePointCollections/restorePoints    &lt;br /&gt;API: 2017-03-30&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: disks    &lt;br /&gt;API: 2017-03-30, 2016-04-30-preview&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: snapshots    &lt;br /&gt;API: 2017-03-30, 2016-04-30-preview&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: locations/diskoperations    &lt;br /&gt;API: 2017-03-30, 2016-04-30-preview&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: images    &lt;br /&gt;API: 2017-03-30, 2016-04-30-preview&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;ProviderId:/subscriptions/1e498be8-9b44-43e5-8a7e-96e59ecbfe78/providers/Microsoft.Features    &lt;br /&gt;Locations:     &lt;br /&gt;ResourceType: features    &lt;br /&gt;API: 2015-12-01, 2014-08-01-preview&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: providers    &lt;br /&gt;API: 2015-12-01, 2014-08-01-preview&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;ProviderId:/subscriptions/1e498be8-9b44-43e5-8a7e-96e59ecbfe78/providers/Microsoft.HDInsight    &lt;br /&gt;Locations: Germany Central, Germany Northeast    &lt;br /&gt;ResourceType: clusters    &lt;br /&gt;API: 2015-03-01-preview&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: clusters/applications    &lt;br /&gt;API: 2015-03-01-preview&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: clusters/operationresults    &lt;br /&gt;API: 2015-03-01-preview&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: locations    &lt;br /&gt;API: 2015-03-01-preview&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: locations/capabilities    &lt;br /&gt;API: 2015-03-01-preview&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: locations/operationresults    &lt;br /&gt;API: 2015-03-01-preview&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: locations/azureasyncoperations    &lt;br /&gt;API: 2015-03-01-preview&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: locations/validateCreateRequest    &lt;br /&gt;API: 2015-03-01-preview&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: operations    &lt;br /&gt;API: 2015-03-01-preview&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;ProviderId:/subscriptions/1e498be8-9b44-43e5-8a7e-96e59ecbfe78/providers/Microsoft.ImportExport    &lt;br /&gt;Locations: Germany Central, Germany Northeast    &lt;br /&gt;ResourceType: jobs    &lt;br /&gt;API: 2016-11-01, 2016-07-01-preview&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: locations    &lt;br /&gt;API: 2016-11-01, 2016-07-01-preview&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: locations/operationResults    &lt;br /&gt;API: 2016-11-01, 2016-07-01-preview&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: operations    &lt;br /&gt;API: 2016-11-01, 2016-07-01-preview&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;ProviderId:/subscriptions/1e498be8-9b44-43e5-8a7e-96e59ecbfe78/providers/Microsoft.KeyVault    &lt;br /&gt;Locations: Germany Central, Germany Northeast    &lt;br /&gt;ResourceType: vaults    &lt;br /&gt;API: 2016-10-01, 2015-06-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: vaults/secrets    &lt;br /&gt;API: 2016-10-01, 2015-06-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: vaults/accessPolicies    &lt;br /&gt;API: 2016-10-01, 2015-06-01&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: operations    &lt;br /&gt;API: 2016-10-01, 2015-06-01&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: checkNameAvailability    &lt;br /&gt;API: 2016-10-01, 2015-06-01&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;ProviderId:/subscriptions/1e498be8-9b44-43e5-8a7e-96e59ecbfe78/providers/Microsoft.MachineLearning    &lt;br /&gt;Locations: Germany Central    &lt;br /&gt;ResourceType: Workspaces    &lt;br /&gt;API: 2016-04-01&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;ProviderId:/subscriptions/1e498be8-9b44-43e5-8a7e-96e59ecbfe78/providers/Microsoft.Media    &lt;br /&gt;Locations: Germany Central, Germany Northeast    &lt;br /&gt;ResourceType: mediaservices    &lt;br /&gt;API: 2015-10-01&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: operations    &lt;br /&gt;API: 2015-10-01&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: checknameavailability    &lt;br /&gt;API: 2015-10-01&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;ProviderId:/subscriptions/1e498be8-9b44-43e5-8a7e-96e59ecbfe78/providers/Microsoft.Portal    &lt;br /&gt;Locations: Germany Northeast, Germany Central    &lt;br /&gt;ResourceType: dashboards    &lt;br /&gt;API: 2015-08-01-preview&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: operations    &lt;br /&gt;API: 2015-08-01-preview&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;ProviderId:/subscriptions/1e498be8-9b44-43e5-8a7e-96e59ecbfe78/providers/Microsoft.PowerBI    &lt;br /&gt;Locations: Germany Northeast, Germany CENTRAL    &lt;br /&gt;ResourceType: workspaceCollections    &lt;br /&gt;API: 2016-01-29&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: locations    &lt;br /&gt;API: 2016-01-29&lt;/p&gt;  &lt;p&gt;Locations: Germany Northeast, Germany CENTRAL   &lt;br /&gt;ResourceType: locations/checkNameAvailability    &lt;br /&gt;API: 2016-01-29&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;ProviderId:/subscriptions/1e498be8-9b44-43e5-8a7e-96e59ecbfe78/providers/Microsoft.RecoveryServices    &lt;br /&gt;Locations: Germany Northeast, Germany Central    &lt;br /&gt;ResourceType: vaults    &lt;br /&gt;API: 2016-12-01, 2016-08-10, 2016-06-01, 2016-05-01, 2015-12-15, 2015-12-10, 2015-11-10, 2015-08-15, 2015-08-10, 2015-06-10, 2015-03-15&lt;/p&gt;  &lt;p&gt;Locations: Germany Northeast   &lt;br /&gt;ResourceType: operations    &lt;br /&gt;API: 2016-08-10, 2016-06-01, 2015-12-15, 2015-12-10, 2015-11-10, 2015-08-15, 2015-08-10, 2015-06-10, 2015-03-15&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: locations    &lt;br /&gt;API: 2016-06-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Northeast, Germany Central   &lt;br /&gt;ResourceType: locations/backupStatus    &lt;br /&gt;API: 2016-06-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Northeast, Germany Central   &lt;br /&gt;ResourceType: locations/allocatedStamp    &lt;br /&gt;API: 2016-06-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Northeast, Germany Central   &lt;br /&gt;ResourceType: locations/allocateStamp    &lt;br /&gt;API: 2016-06-01&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;ProviderId:/subscriptions/1e498be8-9b44-43e5-8a7e-96e59ecbfe78/providers/Microsoft.Relay    &lt;br /&gt;Locations: Germany Central, Germany Northeast    &lt;br /&gt;ResourceType: namespaces    &lt;br /&gt;API: 2016-07-01&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: checkNameAvailability    &lt;br /&gt;API: 2016-07-01&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: operations    &lt;br /&gt;API: 2016-07-01&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;ProviderId:/subscriptions/1e498be8-9b44-43e5-8a7e-96e59ecbfe78/providers/Microsoft.ResourceHealth    &lt;br /&gt;Locations:     &lt;br /&gt;ResourceType: availabilityStatuses    &lt;br /&gt;API: 2015-01-01&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: operations    &lt;br /&gt;API: 2015-01-01&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;ProviderId:/subscriptions/1e498be8-9b44-43e5-8a7e-96e59ecbfe78/providers/Microsoft.Resources    &lt;br /&gt;Locations:     &lt;br /&gt;ResourceType: tenants    &lt;br /&gt;API: 2016-06-01, 2016-02-01, 2015-11-01, 2015-01-01, 2014-04-01-preview&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: locations    &lt;br /&gt;API: 2016-06-01, 2016-02-01, 2015-11-01, 2015-01-01, 2014-04-01-preview&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: providers    &lt;br /&gt;API: 2016-06-01, 2016-02-01, 2015-11-01, 2015-01-01, 2014-04-01-preview&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: checkresourcename    &lt;br /&gt;API: 2016-06-01, 2016-02-01, 2015-11-01, 2015-01-01, 2014-04-01-preview&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: resources    &lt;br /&gt;API: 2016-06-01, 2016-02-01, 2015-11-01, 2015-01-01, 2014-04-01-preview&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: subscriptions    &lt;br /&gt;API: 2016-06-01, 2016-02-01, 2015-11-01, 2015-01-01, 2014-04-01-preview&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: subscriptions/resources    &lt;br /&gt;API: 2016-06-01, 2016-02-01, 2015-11-01, 2015-01-01, 2014-04-01-preview&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: subscriptions/providers    &lt;br /&gt;API: 2016-06-01, 2016-02-01, 2015-11-01, 2015-01-01, 2014-04-01-preview&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: subscriptions/operationresults    &lt;br /&gt;API: 2016-06-01, 2016-02-01, 2015-11-01, 2015-01-01, 2014-04-01-preview&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: resourceGroups    &lt;br /&gt;API: 2016-06-01, 2016-02-01, 2015-11-01, 2015-01-01, 2014-04-01-preview&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: subscriptions/resourceGroups    &lt;br /&gt;API: 2016-06-01, 2016-02-01, 2015-11-01, 2015-01-01, 2014-04-01-preview&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: subscriptions/resourcegroups/resources    &lt;br /&gt;API: 2016-06-01, 2016-02-01, 2015-11-01, 2015-01-01, 2014-04-01-preview&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: subscriptions/locations    &lt;br /&gt;API: 2016-06-01, 2016-02-01, 2015-11-01, 2015-01-01, 2014-04-01-preview&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: subscriptions/tagnames    &lt;br /&gt;API: 2016-06-01, 2016-02-01, 2015-11-01, 2015-01-01, 2014-04-01-preview&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: subscriptions/tagNames/tagValues    &lt;br /&gt;API: 2016-06-01, 2016-02-01, 2015-11-01, 2015-01-01, 2014-04-01-preview&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: deployments    &lt;br /&gt;API: 2016-06-01, 2016-02-01, 2015-11-01, 2015-01-01, 2014-04-01-preview&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: deployments/operations    &lt;br /&gt;API: 2016-06-01, 2016-02-01, 2015-11-01, 2015-01-01, 2014-04-01-preview&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: operations    &lt;br /&gt;API: 2015-01-01&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;ProviderId:/subscriptions/1e498be8-9b44-43e5-8a7e-96e59ecbfe78/providers/Microsoft.Scheduler    &lt;br /&gt;Locations: Germany Central, Germany Northeast    &lt;br /&gt;ResourceType: jobcollections    &lt;br /&gt;API: 2016-03-01, 2016-01-01, 2014-08-01-preview&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: operations    &lt;br /&gt;API: 2016-03-01, 2016-01-01, 2014-08-01-preview&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: operationResults    &lt;br /&gt;API: 2016-03-01, 2016-01-01, 2014-08-01-preview&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;ProviderId:/subscriptions/1e498be8-9b44-43e5-8a7e-96e59ecbfe78/providers/Microsoft.ServiceFabric    &lt;br /&gt;Locations: Germany Central, Germany Northeast    &lt;br /&gt;ResourceType: clusters    &lt;br /&gt;API: 2016-09-01, 2016-03-01, 2016-01-01-beta, 2015-01-01-alpha&lt;/p&gt;  &lt;p&gt;Locations:    &lt;br /&gt;ResourceType: locations    &lt;br /&gt;API: 2016-09-01, 2016-03-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: locations/clusterVersions    &lt;br /&gt;API: 2016-09-01, 2016-03-01, 2016-01-01-beta, 2015-01-01-alpha&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;ProviderId:/subscriptions/1e498be8-9b44-43e5-8a7e-96e59ecbfe78/providers/microsoft.support    &lt;br /&gt;Locations: Germany Central, Germany Northeast    &lt;br /&gt;ResourceType: operations    &lt;br /&gt;API: 2015-07-01-Preview, 2015-03-01&lt;/p&gt;  &lt;p&gt;Locations: Germany Central, Germany Northeast   &lt;br /&gt;ResourceType: supporttickets    &lt;br /&gt;API: 2015-07-01-Preview, 2015-03-01&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://developers.de/aggbug.aspx?PostID=1806918" width="1" height="1"&gt;</description><category domain="http://developers.de/blogs/damir_dobric/archive/tags/cloud/default.aspx">cloud</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/azure/default.aspx">azure</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/windows+azure/default.aspx">windows azure</category></item><item><title>IotHub Device Twin ‘UnauthorizedException’</title><link />http://developers.de/blogs/damir_dobric/archive/2017/06/12/iothub-device-twin-unauthorizedexception.aspx<pubdate>Mon, 12 Jun 2017 05:55:00 GMT</pubdate><guid ispermalink="false">7e491611-45ad-4dae-a68f-c4cb64439510:1806861</guid><dc:creator>Damir Dobric</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;When working with device twins and IoTHub, you have to be aware of security requirements of certain methods of the service twin API.&lt;/p&gt;  &lt;p&gt;For example to get the instance of the twin or to update the twin you will need ‘&lt;strong&gt;ServiceConnect’&lt;/strong&gt; permission.&lt;/p&gt;  &lt;p class="MsoNormal" style="list-style-type:disc;margin:0in 0in 8pt;line-height:12pt;"&gt;&lt;font face="Consolas"&gt;&lt;span style="line-height:10pt;mso-bidi-font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font style="font-size:9.5pt;"&gt;&amp;#160; &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;font style="font-size:9.5pt;"&gt;&lt;span style="line-height:10pt;mso-bidi-font-family:consolas;"&gt;&lt;font color="#0000ff"&gt;var&lt;/font&gt;&lt;/span&gt;&lt;span style="line-height:10pt;mso-bidi-font-family:consolas;"&gt; twin = &lt;/span&gt;&lt;span style="line-height:10pt;mso-bidi-font-family:consolas;"&gt;&lt;font color="#0000ff"&gt;await&lt;/font&gt;&lt;/span&gt;&lt;span style="line-height:10pt;mso-bidi-font-family:consolas;"&gt; registryManager.GetTwinAsync(&lt;/span&gt;&lt;span style="line-height:10pt;mso-bidi-font-family:consolas;"&gt;&lt;font color="#2b91af"&gt;Credentials&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;span style="line-height:10pt;mso-bidi-font-family:consolas;"&gt;&lt;font style="font-size:9.5pt;"&gt;.DeviceId);&lt;/font&gt;&lt;/span&gt;      &lt;p&gt;&lt;span style="line-height:10pt;mso-bidi-font-family:consolas;"&gt;&lt;font color="#0000ff"&gt;&lt;font style="font-size:9.5pt;"&gt;&amp;#160; await&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="line-height:10pt;mso-bidi-font-family:consolas;"&gt;&lt;font style="font-size:9.5pt;"&gt; registryManager.UpdateTwinAsync(twin.DeviceId, patch, twin.ETag);&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;However, if you want to query for twin properties you will need ‘&lt;strong&gt;RegistryRead’&lt;/strong&gt; permission.&lt;/p&gt;  &lt;p class="MsoNormal" style="list-style-type:disc;margin:0in 0in 0pt;line-height:normal;mso-layout-grid-align:none;"&gt;&lt;font face="Consolas"&gt;&lt;span style="mso-bidi-font-family:consolas;"&gt;&lt;font color="#0000ff"&gt;&lt;font style="font-size:9.5pt;"&gt;var&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font style="font-size:9.5pt;"&gt;&lt;span style="mso-bidi-font-family:consolas;"&gt; query = registryManager.CreateQuery(&lt;/span&gt;&lt;span style="mso-bidi-font-family:consolas;"&gt;&lt;font color="#a31515"&gt;&amp;quot;SELECT * FROM devices WHERE tags.location.plant = &amp;#39;Redmond43&amp;#39;&amp;quot;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;span style="mso-bidi-font-family:consolas;"&gt;&lt;font style="font-size:9.5pt;"&gt;, 100);&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="list-style-type:disc;margin:0in 0in 8pt;line-height:12pt;"&gt;&lt;font face="Consolas"&gt;&lt;span style="line-height:10pt;mso-bidi-font-family:consolas;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&lt;font style="font-size:9.5pt;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;font style="font-size:9.5pt;"&gt;&lt;span style="line-height:10pt;mso-bidi-font-family:consolas;"&gt;&lt;font color="#0000ff"&gt;var&lt;/font&gt;&lt;/span&gt;&lt;span style="line-height:10pt;mso-bidi-font-family:consolas;"&gt; twinsInRedmond43 = &lt;/span&gt;&lt;span style="line-height:10pt;mso-bidi-font-family:consolas;"&gt;&lt;font color="#0000ff"&gt;await&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;span style="line-height:10pt;mso-bidi-font-family:consolas;"&gt;&lt;font style="font-size:9.5pt;"&gt; query.GetNextAsTwinAsync();&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;If you want to be sure that combination of statements listed above works well, you need to set the service SAS policy with &lt;strong&gt;ServiceConnect&lt;/strong&gt; and &lt;strong&gt;RegistryRead&lt;/strong&gt; permission.&lt;/p&gt;  &lt;p&gt;If this is not the case, one of operations might fail with:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;font color="#ff0000"&gt;Microsoft.Azure.Devices.Common.Exceptions.UnauthorizedException:&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://developers.de/aggbug.aspx?PostID=1806861" width="1" height="1"&gt;</description><category domain="http://developers.de/blogs/damir_dobric/archive/tags/cloud/default.aspx">cloud</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/azure/default.aspx">azure</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/windows+azure/default.aspx">windows azure</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/Microsoft+Azure/default.aspx">Microsoft Azure</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/iot/default.aspx">iot</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/iothub/default.aspx">iothub</category></item><item><title>Mastering IoT Solutions using Microsoft Azure Platform</title><link />http://developers.de/blogs/damir_dobric/archive/2017/05/27/mastering-iot-solutions-using-microsoft-azure-platform.aspx<pubdate>Sat, 27 May 2017 16:24:36 GMT</pubdate><guid ispermalink="false">7e491611-45ad-4dae-a68f-c4cb64439510:1806554</guid><dc:creator>Damir Dobric</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_5F059804.png"&gt;&lt;img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_thumb_5F00_7AAA23FA.png" width="449" height="217" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;It is obvious that Cloud, BigData and IoT becoming true mega trends. They are consisted technological part for Digital Transformation process, which has a massive impact on every architect and developer. &lt;/p&gt;  &lt;p&gt;In this break-out session, we will dive deep in some of most IoT relevant Microsoft Azure services like AppService, APIApps and IoTHub. We will demonstrate how these services can help to easy build IoT solutions. But, you will also learn how to extend existing services with features, which are not necessarily a part of a common IoT solution. &lt;/p&gt;  &lt;p&gt;You will see how devices like Amazon Echo Dot can be integrated in the Microsoft Azure and Windows IoT platform. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_738AE782.png"&gt;&lt;img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_thumb_5F00_311AD5FD.png" width="879" height="427" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://developers.de/aggbug.aspx?PostID=1806554" width="1" height="1"&gt;</description><category domain="http://developers.de/blogs/damir_dobric/archive/tags/cloud/default.aspx">cloud</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/azure/default.aspx">azure</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/windows+azure/default.aspx">windows azure</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/Microsoft+Azure/default.aspx">Microsoft Azure</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/iot/default.aspx">iot</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/iothub/default.aspx">iothub</category></item><item><title>Best Practices for Building IoT Solutions on Microsoft platform</title><link />http://developers.de/blogs/damir_dobric/archive/2017/05/27/best-practices-for-building-iot-solutions-on-microsoft.aspx<pubdate>Sat, 27 May 2017 16:11:13 GMT</pubdate><guid ispermalink="false">7e491611-45ad-4dae-a68f-c4cb64439510:1806553</guid><dc:creator>Damir Dobric</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&lt;b&gt;     &lt;br /&gt;&lt;/b&gt;&lt;/p&gt;  &lt;h4&gt;The true story – Ask Experts&lt;/h4&gt;  &lt;table cellspacing="0" cellpadding="2"&gt;     &lt;tr&gt;       &lt;td&gt;         &lt;p&gt;I&amp;#39;m usually giving deep technical sessions with lot of demos and code. However, this time we have organized Ask-Experts Break-Out Session.           &lt;br /&gt;            &lt;br /&gt;This is an interactive technical session. Attendees can ask questions related to IoT and we will try to help. WE can talk about IoT Services, specific solutions, Case Studies etc.&lt;/p&gt;          &lt;p&gt;We will also discuss about how IoT mega trend is aggressively shifting our skill focus, what does this mean for our education and how we are mastering it.&lt;/p&gt;       &lt;/td&gt;        &lt;td&gt;&lt;a href="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_24E2FF9D.png"&gt;&lt;img title="image" style="border-left-width:0px;border-right-width:0px;background-image:none;border-bottom-width:0px;padding-top:0px;padding-left:0px;display:inline;padding-right:0px;border-top-width:0px;" border="0" alt="image" src="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_thumb_5F00_16A486AD.png" width="294" height="146" /&gt;&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/table&gt;  &lt;p&gt;&lt;a href="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_7EDE0101.png"&gt;&lt;img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;padding-top:0px;padding-left:0px;border-left:0px;display:inline;padding-right:0px;" border="0" alt="image" src="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/damir_5F00_dobric/image_5F00_thumb_5F00_64A0288E.png" width="858" height="491" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://developers.de/aggbug.aspx?PostID=1806553" width="1" height="1"&gt;</description><category domain="http://developers.de/blogs/damir_dobric/archive/tags/cloud/default.aspx">cloud</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/azure/default.aspx">azure</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/windows+azure/default.aspx">windows azure</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/Microsoft+Azure/default.aspx">Microsoft Azure</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/iot/default.aspx">iot</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/AzureStreamAnalytics/default.aspx">AzureStreamAnalytics</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/iothub/default.aspx">iothub</category><category domain="http://developers.de/blogs/damir_dobric/archive/tags/AzureDatalake/default.aspx">AzureDatalake</category></item></channel></rss>