<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="www.w3.org/2005/Atom" xmlns:sy="purl.org/rss/1.0/modules/syndication/" xmlns:dc="purl.org/dc/elements/1.1/" xmlns:content="purl.org/rss/1.0/modules/content/" xmlns:wfw="wellformedweb.org/CommentAPI/" xmlns:slash="purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>Notes from a dark corner</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/dougste/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/dougste/feed.xml</link>
    <description>Debugging anything that uses clock cycles</description>
    <lastBuildDate>Wed, 19 Jun 2019 09:54:38 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>End of an era for this blog...</title>
      <link>https://docs.microsoft.com/archive/blogs/dougste/end-of-an-era-for-this-blog</link>
      <pubDate>Wed, 19 Jun 2019 09:49:27 GMT</pubDate>
      <dc:creator><![CDATA[Doug Stewart -MSFT]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/dougste/?p=3615</guid>
      <description><![CDATA[Dear readers

I've not blogged a lot in recent years but from tomorrow I will officially no longer...]]></description>
      <content:encoded><![CDATA[Dear readers

I've not blogged a lot in recent years but from tomorrow I will officially no longer blog here.  I've not decided whether, where or if I will blog in the future. Time will tell. For the time being, old posts should remain and will possibly end up in some <a href="https://twitter.com/MSDNService/status/1116801471008296960">future archive site</a>. Looking back, my all time golden year in terms of sheer volume of blog posts was 2008 with 70 posts.

From my initial post about "<a href="https://blogs.msdn.microsoft.com/dougste/2005/11/18/why-my-corner-is-dark/">Why my corner is dark</a>" (I am no longer in that corner and my present desk is not dark), on to my first enthusiastic and ambitious deep dive technical post about how to "<a href="https://blogs.msdn.microsoft.com/dougste/2005/11/25/determining-the-origin-of-a-static-root/">Determine the origin of a static root</a>", I meandered through a variety of technical and non-technical posts. Here are some of my popular and favourite ones:
<ul>
 	<li><em>The ever popular lists of CLR file versions that were useful for myself and others but became increasingly hard to maintain. Lists for <a href="https://blogs.msdn.microsoft.com/dougste/2007/09/06/version-history-of-the-clr-2-0/">2.0</a> and <a href="https://blogs.msdn.microsoft.com/dougste/2016/03/17/file-version-history-for-clr-4-x/">4.x</a>.</em></li>
 	<li><em>The old faithful "<a href="https://blogs.msdn.microsoft.com/dougste/2006/04/05/nine-tips-for-a-healthy-in-production-asp-net-application/">Nine tips for a healthy 'in production' ASP.NET application</a>"</em>
<em></em></li>
 	<li><em>The astonishingly well hit "<a href="https://blogs.msdn.microsoft.com/dougste/2006/09/05/could-not-load-file-or-assembly-part-1/">Could NOT Load file or assembly - Part 1</a>" which attracted about 10 times more hits than any other post over the years, probably because the blog title corresponds to an error message with innumerable possible causes [ and no, there never was a "Part 2" ].</em>
<em></em></li>
 	<li><em>The rather off topic but hopefully interesting "<a href="https://blogs.msdn.microsoft.com/dougste/2011/02/18/geomagnetic-stormsare-they-all-bad/">Geomagnetic Storms–are they all bad?</a>"</em>
<em></em></li>
 	<li><em>My most obscure festive greeting ever represented in "<a href="https://blogs.msdn.microsoft.com/dougste/2008/12/24/a-message-to-my-readers/">A message to my readers</a>" </em>
<em></em></li>
 	<li><em>The catchy titled "<a href="https://blogs.msdn.microsoft.com/dougste/2008/11/12/random-and-unexpected-exception_flt_divide_by_zero-and-exception_flt_invalid__operation/">Random and unexpected EXCEPTION_FLT_DIVIDE_BY_ZERO and EXCEPTION_FLT_INVALID__OPERATION</a>" which represents one of the gnarliest to debug class of issues</em>
<em></em></li>
 	<li><em>The instructive "<a href="https://blogs.msdn.microsoft.com/dougste/2006/03/14/asp-net-how-it-uses-windows-memory/">ASP.NET - how it uses Windows memory</a>" which I was so pleased to 'rediscover' that I celebrated it as  "<a href="https://blogs.msdn.microsoft.com/dougste/2008/10/09/a-long-lost-friend/">A long lost friend</a>".</em>
<em></em></li>
 	<li><em>Useful listicles like "<a href="https://blogs.msdn.microsoft.com/dougste/2010/02/18/an-index-to-maonis-blog-posts-about-the-gc/">An index to Maoni’s blog posts about the GC</a>"
</em></li>
 	<li><em>Debugging and support 'war stories' like "<a href="https://blogs.msdn.microsoft.com/dougste/2011/04/06/you-spent-how-much-on-our-new-server-and-the-app-slowed-down/">You spent HOW much on our new server and the app slowed DOWN??!!</a>"</em></li>
</ul>
&nbsp;

At the time of writing this post I can still be found on <a href="https://twitter.com/dougste">Twitter as @dougste</a> and also on <a href="https://www.linkedin.com/in/doug-stewart-2599515/">LinkedIn</a>.  If I do resume blogging in the future I will link to my new blog from those profiles.

Goodbye for now and thanks for reading! I hope it helped.

Doug]]></content:encoded>
    </item>
    <item>
      <title>RSS and Atom feeds for support content</title>
      <link>https://docs.microsoft.com/archive/blogs/dougste/rss-and-atom-feeds-for-support-content</link>
      <pubDate>Fri, 27 Apr 2018 10:36:17 GMT</pubDate>
      <dc:creator><![CDATA[Doug Stewart -MSFT]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/dougste/?p=3605</guid>
      <description><![CDATA[Thanks to a new service from our content team, you can now get an Atom or RSS feed for a wide...]]></description>
      <content:encoded><![CDATA[Thanks to a <a href="https://support.microsoft.com/en-us/help/4089498/support-content-updates">new service from our content team</a>, you can now get an Atom or RSS feed for a wide variety of support content categories, e.g. .NET Framework, .NET Core, Visual Studio or many other Microsoft products. You'll receive notifications of both new content and content updates (big and small) into your reader or inbox of choice!

HTH

Doug]]></content:encoded>
    </item>
    <item>
      <title>GenGetProcessInfo.Start(0x1234) failed, 0x800700ea</title>
      <link>https://docs.microsoft.com/archive/blogs/dougste/gengetprocessinfo-start0x1234-failed-0x800700ea</link>
      <pubDate>Wed, 19 Apr 2017 08:29:06 GMT</pubDate>
      <dc:creator><![CDATA[Doug Stewart -MSFT]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/dougste/?p=3585</guid>
      <description><![CDATA[This is rather obscure but seems to come up every so often. Here 0x1234 would be the process ID of...]]></description>
      <content:encoded><![CDATA[<p>This is rather obscure but seems to come up every so often.</p> <p>Here 0x1234 would be the process ID of the process that we were attempting to dump. The Win32 error is 0x800700ea</p> <p>The issue here was that one of my colleagues was having trouble generating a memory dump of a w3wp.exe hosting a particular web application. It kept failing with this error or some variant of it with just about any dump generating tool. Dumps of other web applications on the same machine were fine.</p> <p>It turns out the root cause here was the full path of some temporary ASP.NET compiled module mapped into the process was too long and exceeded the system defined MAX_PATH.</p> <p>The workaround is to configure ASP.NET to compile its temporary assemblies into some location with a shorter path by setting the tempDirectory attribute of the <a href="https://msdn.microsoft.com/en-us/library/s10awwz0(v=vs.100).aspx">compilation element</a>.</p> <p>Thanks to Mourad and Joao for this one.</p> <p>Doug</p>]]></content:encoded>
    </item>
    <item>
      <title>Open the Visual Studio Output windows with the keyboard</title>
      <link>https://docs.microsoft.com/archive/blogs/dougste/open-the-visual-studio-output-windows-with-the-keyboard</link>
      <pubDate>Wed, 04 Jan 2017 11:58:45 GMT</pubDate>
      <dc:creator><![CDATA[Doug Stewart -MSFT]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/dougste/?p=3575</guid>
      <description><![CDATA[I am not great with keyboard shortcuts. I use quite a few but my repertoire is a bit limited. One...]]></description>
      <content:encoded><![CDATA[<p>I am not great with keyboard shortcuts. I use quite a few but my repertoire is a bit limited. One thing that frustrated me for a while though was the apparent lack of a shortcut to bring up the Output window in VS2015:</p> <p><a href="https://msdnshared.blob.core.windows.net/media/2017/01/image86.png"><img title="image" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/2017/01/image_thumb53.png" width="644" height="218"></a></p>  <p>&nbsp;</p> <p>Anyway, turns out there is one – Ctrl+Alt+O</p> <p>Of course, having figured that out, then I realised it also appears on the View menu (New Year’s Resolution – be more observant!) where it the shortcut is documented:</p> <p><a href="https://msdnshared.blob.core.windows.net/media/2017/01/image87.png"><img title="image" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/2017/01/image_thumb54.png" width="524" height="484"></a></p> <p>&nbsp;</p> <p>One small step for a developer….</p> <p>&nbsp;</p> <p>Doug</p>]]></content:encoded>
    </item>
    <item>
      <title>Troubleshooting exceptions in a Windows Phone app</title>
      <link>https://docs.microsoft.com/archive/blogs/dougste/troubleshooting-exceptions-in-a-windows-phone-app</link>
      <pubDate>Thu, 19 May 2016 09:48:50 GMT</pubDate>
      <dc:creator><![CDATA[Doug Stewart -MSFT]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/dougste/?p=3526</guid>
      <description><![CDATA[You know the situation – you develop and debug your app, all works well and you deploy it onto the...]]></description>
      <content:encoded><![CDATA[<p>You know the situation – you develop and debug your app, all works well and you deploy it onto the phones of a few testers or friends. Then, you get reports of the app just disappearing.&nbsp;&nbsp; An app crashing on a phone typically just looks like the app just disappearing and the tiled start screen showing up again. <p>If you are troubleshooting as a developer and you have the phone in front of you, connected to your PC, this is no problem. You can debug the app interactively from Visual Studio (and if you are debugging interactively you can even remotely capture a dump file and pull it back over the wire for later analysis at your leisure.  <p>But what if you cannot get direct access to the phone all the time or debug interactively from Visual Studio?  <p>Well, one option is to use the awesome utility <a href="https://www.microsoft.com/en-US/store/apps/Field-Medic/9WZDNCRFJB82">Field Medic</a> which you can install on the phone and use to collect diagnostic traces and information. <p>It has many uses but one thing it can do is capture crash dumps of crashing apps and also ETW traces originating from .NET/CLR telling you details of the crash. </p> <p>Assuming you have a way to reproduce the app crashing on your phone, here is how to figure out why it is happening. </p> <p>Launch Field Medic and select Advanced:</p> <p><a href="https://msdnshared.blob.core.windows.net/media/2016/05/image693.png"><img title="image" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/05/image_thumb566.png" width="365" height="484"></a></p> <p>Tap on ‘Categories’ and deselect them all but select the ‘Performance_DotNetRT’ one:</p> <p><a href="https://msdnshared.blob.core.windows.net/media/2016/05/image694.png"><img title="image" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/05/image_thumb567.png" width="438" height="484"></a></p> <p>This will capture Event Tracing for Windows (ETW) logs relevant to .NET/CLR.</p> <p>Now if you also want to generate crash dumps for the issue (if you like delving into WinDBG) tap on ‘Choose your options’ under “Configure system log and crash dump options’:</p> <p><a href="https://msdnshared.blob.core.windows.net/media/2016/05/image695.png"><img title="image" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/05/image_thumb568.png" width="481" height="484"></a></p> <p>Turn that on and select ‘Full’:</p> <p><a href="https://msdnshared.blob.core.windows.net/media/2016/05/image696.png"><img title="image" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/05/image_thumb569.png" width="644" height="475"></a></p> <p>I won’t be going into the specifics of looking at the crash dumps in this blog post.</p> <p>It is a good idea to minimise the number of apps running – just try to keep it to the app you are investigating. Traces are for the whole phone, not just your app.</p> <p>Now back on the home page of Field Medic, tap on ‘Start Logging’ and you should see this after a moment or two:</p> <p><a href="https://msdnshared.blob.core.windows.net/media/2016/05/image697.png"><img title="image" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/05/image_thumb570.png" width="416" height="484"></a></p> <p>&nbsp;</p> <p>Now reproduce the crash in your app, switch back to Field Medic (or re-launch it if it is no longer running) and select ‘Stop Logging’:</p> <p><a href="https://msdnshared.blob.core.windows.net/media/2016/05/image698.png"><img title="image" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/05/image_thumb571.png" width="244" height="93"></a></p> <p>The ’Stop Logging’ phase may take a few extra seconds (sometimes quite a few!) if you have selected the Full Dump option.</p> <p>You will be prompted to give your report a name and some contextual information:</p> <p><a href="https://msdnshared.blob.core.windows.net/media/2016/05/image699.png"><img title="image" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/05/image_thumb572.png" width="334" height="484"></a></p> <p>Now connect your phone to your PC with and navigate to it in Windows Explorer:</p> <p><a href="https://msdnshared.blob.core.windows.net/media/2016/05/image700.png"><img title="image" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/05/image_thumb573.png" width="244" height="215"></a></p> <p>If your phone was already connected to your PC, you may need to disconnect it and reconnect it before you see the new content on the phone file system. It seems to be a limitation of the USB based transport used to connect PC and phone that it does not auto-refresh. This was at least the case with Windows Phone 8.1 though it seems to be fixed in latest Windows 10 Mobile builds from what I can tell.</p> <p>Navigate into the “This PC\Windows Phone\Phone\Documents\FieldMedic\reports” folder and copy the entire report folder off the phone. The report folders have names like this:</p> <p>WPB_000_20160420_120713</p> <p>Field Medic traces, among other things, captures Event Trace Log (ETL) files. There are various ways to read these specially formatted files but one of the most fast and convenient I find is the multi-talented <a href="https://www.microsoft.com/en-gb/download/details.aspx?id=28567">PerfView</a>.</p> <p>Navigate into the report folder to locate the single ETL we collected:</p> <p><a href="https://msdnshared.blob.core.windows.net/media/2016/05/image701.png"><img title="image" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/05/image_thumb574.png" width="378" height="484"></a></p> <p>and open it with PerfView.</p> <p>Once in there, in the PerfView UI navigate to the ‘Events’ node under the node for the ETL:</p> <p><a href="https://msdnshared.blob.core.windows.net/media/2016/05/image702.png"><img title="image" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/05/image_thumb575.png" width="644" height="320"></a></p> <p>&nbsp;</p> <p>This will open a new window for exploring the ETL contents</p> <p>Now type ‘exception’ into the event types filter box and click update:</p> <p><a href="https://msdnshared.blob.core.windows.net/media/2016/05/image703.png"><img title="image" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/05/image_thumb576.png" width="1028" height="222"></a></p> <p>Hopefully you will now see a filtered list of events on the right. Note there may be some innocuous exception events going on from other apps that are not relevant.</p> <p>In this example however we can see an entry from my app, which is called App2 (ok, so perhaps I am not cut out for marketing!)</p> <p>If I click on that event and Ctrl+C here is what I get:</p> <p>“HasStack="True" ThreadID="704" ExceptionType="System.NullReferenceException" ExceptionMessage="Object reference not set to an instance of an object." ExceptionEIP="0x35f1d36" ExceptionHRESULT="-2,147,467,261" ExceptionFlags="CLSCompliant" ClrInstanceID="10" ”</p> <p>If it is a complex app with other non-crashing exceptions going on you might need to look at whether that was the last event logged by that instance of App2 to know whether it was the exception that brought the process down or not.</p> <p>In this case, we now know that at System.NullReferenceException killed the process at instruction pointer address 0x35f1d36. Hmm, interesting but maybe not useful, yet.</p> <p>Note, however, the HasStack=”True” in the above. Sounds useful, right?</p> <p>Close that PerfView window you’ve been working in and go back to the primary window. Navigate into the “Advanced Group” and double-click on ‘Exception Stacks’:</p> <p><a href="https://msdnshared.blob.core.windows.net/media/2016/05/image704.png"><img title="image" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/05/image_thumb577.png" width="502" height="484"></a></p> <p>&nbsp;</p> <p>You’ll get a process selection window open – now double click on the entry for your app:</p> <p><a href="https://msdnshared.blob.core.windows.net/media/2016/05/image705.png"><img title="image" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/05/image_thumb578.png" width="324" height="484"></a></p> <p>A new window will appear showing stacks for exceptions that happened within the App2 process during the trace. In this case there is only one and it is the exception we are interested in:</p> <p><a href="https://msdnshared.blob.core.windows.net/media/2016/05/image706.png"><img title="image" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/05/image_thumb579.png" width="644" height="477"></a></p> <p>&nbsp;</p> <p>Thankfully, this time, it tells me the function in my app where the exception was thrown. That is enough of a clue to get me on the right track and figure out what went wrong.</p> <p>If you need to go deeper and you selected the Full Dump option earlier, you will find the full memory dump in the Documents\Debug folder (on Windows Phone 8.1):</p> <p><a href="https://msdnshared.blob.core.windows.net/media/2016/05/image707.png"><img title="image" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/05/image_thumb580.png" width="1028" height="151"></a></p> <p>If you are looking for the dump file on Windows 10 Mobile, it seems things have changed slightly and Field Medic pulls the dump file out of the Documents\Debug folder and CABs it up with Watson telemetry data within the Field Medic report:</p> <p><a href="https://msdnshared.blob.core.windows.net/media/2016/05/image708.png"><img title="image" style="border-top: 0px;border-right: 0px;border-bottom: 0px;padding-top: 0px;padding-left: 0px;border-left: 0px;padding-right: 0px" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/2016/05/image_thumb581.png" width="644" height="396"></a></p> <p>Of course, I could have instrumented my app with <a href="https://hockeyapp.net/features/crashreports/">HockeyApp and got crash reports</a> that way <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="https://msdnshared.blob.core.windows.net/media/2016/05/wlEmoticon-smile6.png">.</p> <p>Here are some additional references:</p> <p><a href="https://msdn.microsoft.com/en-us/library/windows/hardware/dn757517(v=vs.85).aspx">Use Field Medic to generate a report</a></p> <p><a href="https://mtaulty.com/2015/02/19/m_15734/">Windows/Phone 8.1 Debugging: Getting a Crash Dump File From a Device</a></p> <p>HTH</p> <p>/D</p>]]></content:encoded>
    </item>
    <item>
      <title>File version history for CLR 4.x</title>
      <link>https://docs.microsoft.com/archive/blogs/dougste/file-version-history-for-clr-4-x</link>
      <pubDate>Thu, 17 Mar 2016 09:41:45 GMT</pubDate>
      <dc:creator><![CDATA[Doug Stewart -MSFT]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/dougste/?p=3244</guid>
      <description><![CDATA[In the past I have maintained some blogs posts about version histories of the CLR 2.0 and CLR 4.0....]]></description>
      <content:encoded><![CDATA[<p>In the past I have maintained some blogs posts about version histories of the <a href="https://blogs.msdn.microsoft.com/dougste/2007/09/06/version-history-of-the-clr-2-0/">CLR 2.0</a> and <a href="https://blogs.msdn.microsoft.com/dougste/2011/09/30/version-history-of-the-clr-4-0/">CLR 4.0</a>. People seem to have found those useful over the years but they have become quite tough to maintain. With that in mind, I’m drawing a line under those old posts for now and making a bit of a fresh start here, capturing some of the newer key versions of the CLR 4.x family that have shipped.&nbsp; I’ll try to update over time.</p> <p>Version number indicated refers to CLR.DLL. If there are patches of significant interest relating to other files I’ll note that in the ‘File’ column.</p> <p>&nbsp;</p> <table cellspacing="0" cellpadding="2" width="785" border="0"> <tbody> <tr> <td valign="top" width="133"><strong>Version (xx)</strong></td> <td valign="top" width="133"><strong>File</strong></td> <td valign="top" width="517"><strong>Note</strong></td></tr> <tr> <td valign="top" width="133">4.6.1590.0</td> <td valign="top" width="133">&nbsp;</td> <td valign="top" width="517">.NET 4.6.2 (released on 20th July 2016)<br><a title="https://www.microsoft.com/en-us/download/details.aspx?id=53344" href="https://www.microsoft.com/en-us/download/details.aspx?id=53344">https://www.microsoft.com/en-us/download/details.aspx?id=53344</a></td></tr> <tr> <td valign="top" width="133">4.6.1586.0</td> <td valign="top" width="133">&nbsp;</td> <td valign="top" width="517">Windows 10 Anniversary Update build 14393.51 thru .187</td></tr> <tr> <td valign="top" width="133">4.6.1087.0</td> <td valign="top" width="133">&nbsp;</td> <td valign="top" width="517">MS16-155 (KB3195388): <a href="https://support.microsoft.com/en-us/help/3195388">https://support.microsoft.com/en-us/help/3195388</a><br>(thanks ‘TheDavester’!)</td></tr> <tr> <td valign="top" width="133">4.6.1081</td> <td valign="top" width="133">&nbsp;</td> <td valign="top" width="517">May 2015 hotfix rollup (e.g. <a href="https://support.microsoft.com/en-us/kb/3154528">hotfix KB3154528</a>) (thanks Andre!)</td></tr> <tr> <td valign="top" width="133">4.6.1080</td> <td valign="top" width="133">&nbsp;</td> <td valign="top" width="517">Windows 10 build 10586.545</td></tr> <tr> <td valign="top" width="133">4.6.1073.0</td> <td valign="top" width="133">&nbsp;</td> <td valign="top" width="517">MS16-035 for .NET 4.6 and .NET 4.6.1<br><a title="https://support.microsoft.com/en-us/kb/3135997" href="https://support.microsoft.com/en-us/kb/3135997">https://support.microsoft.com/en-us/kb/3135997</a></td></tr> <tr> <td valign="top" width="133">4.6.1055.0</td> <td valign="top" width="133">&nbsp;</td> <td valign="top" width="517">.NET 4.6.1 RTM<br><a title="https://www.microsoft.com/en-us/download/details.aspx?id=49982" href="https://www.microsoft.com/en-us/download/details.aspx?id=49982">https://www.microsoft.com/en-us/download/details.aspx?id=49982</a></td></tr> <tr> <td valign="top" width="133">&nbsp;</td> <td valign="top" width="133">&nbsp;</td> <td valign="top" width="517">&nbsp;</td></tr> <tr> <td valign="top" width="133">4.6.81.0</td> <td valign="top" width="133">&nbsp;</td> <td valign="top" width="517">.NET 4.6 RTM<br><a title="www.microsoft.com/en-us/download/details.aspx?id=48130" href="https://www.microsoft.com/en-us/download/details.aspx?id=48130">www.microsoft.com/en-us/download/details.aspx?id=48130</a></td></tr> <tr> <td valign="top" width="133">4.0.30319.36358</td> <td valign="top" width="133">&nbsp;</td> <td valign="top" width="517">May 2016 hotfix rollup for 4.5, 4.5.1 and 4.5.2<a href="https://support.microsoft.com/en-us/kb/3156984"><br>https://support.microsoft.com/en-us/kb/3156984</a><br>(thanks Andre!)</td></tr> <tr> <td valign="top" width="133">4.0.30319.36346</td> <td valign="top" width="133">&nbsp;</td> <td valign="top" width="517">hotfix rollup for 4.5.1 and 4.5.2<a href="https://support.microsoft.com/en-us/kb/3139545"><br>https://support.microsoft.com/en-us/kb/3139545</a><br><a href="https://support.microsoft.com/en-us/kb/3139543">https://support.microsoft.com/en-us/kb/3139543</a> (Windows 8.1, 2012R2)<br>(thanks Andre!)</td></tr> <tr> <td valign="top" width="133">4.0.30319.34209</td> <td valign="top" width="133">&nbsp;</td> <td valign="top" width="517">.NET 4.5.2</td></tr> <tr> <td valign="top" width="133">4.0.30319.34014</td> <td valign="top" width="133">&nbsp;</td> <td valign="top" width="517">.NET 4.5.1 + something</td></tr> <tr> <td valign="top" width="133">4.0.30319.18444</td> <td valign="top" width="133">&nbsp;</td> <td valign="top" width="517">.NET 4.5.1 + MS14-009 on VistaSP2, 2008sp2, Win7SP1, 2008R2sp1</td></tr> <tr> <td valign="top" width="133">&nbsp;</td> <td valign="top" width="133">&nbsp;</td> <td valign="top" width="517">&nbsp;</td></tr> <tr> <td valign="top" width="133">&nbsp;</td> <td valign="top" width="133">&nbsp;</td> <td valign="top" width="517">&nbsp;</td></tr> <tr> <td valign="top" width="133">&nbsp;</td> <td valign="top" width="133">&nbsp;</td> <td valign="top" width="517">&nbsp;</td></tr> <tr> <td valign="top" width="133">&nbsp;</td> <td valign="top" width="133">&nbsp;</td> <td valign="top" width="517">&nbsp;</td></tr> <tr> <td valign="top" width="133">&nbsp;</td> <td valign="top" width="133">&nbsp;</td> <td valign="top" width="517">&nbsp;</td></tr></tbody></table> <p>&nbsp;</p> <p>&nbsp;</p> <p>Additional useful references</p> <p><a href="https://blogs.msdn.microsoft.com/dotnet/2016/08/15/introducing-the-net-framework-monthly-rollup/">Introducing the .NET Framework Monthly Rollup</a></p> <p><a href="https://blogs.msdn.microsoft.com/dotnet/2016/10/11/net-framework-monthly-rollups-explained/">.NET Framework Monthly Rollups Explained</a></p> <p><a href="https://blogs.msdn.microsoft.com/dotnet/2016/10/11/net-framework-monthly-rollup-october-2016/">.NET Framework Monthly Rollup: October 2016</a></p> <p><a href="https://blogs.msdn.microsoft.com/dotnet/2016/12/13/net-framework-december-monthly-rollup-is-now-available/">.NET Framework December Monthly Rollup is Now Available</a></p> <p>&nbsp;</p> <p><a href="https://www.microsoft.com/net/targeting">Targeting Packs</a></p> <p><a href="https://msdn.microsoft.com/en-us/library/dn458358(v=vs.110).aspx">Application Compatibility in the .NET Framework</a></p> <p><a href="https://www.microsoft.com/net/download">.NET Framework downloads</a></p> <p><a href="https://msdn.microsoft.com/en-us/library/hh925568(v=vs.110).aspx">How to: Determine Which .NET Framework Versions Are Installed</a></p> <p><a href="https://msdn.microsoft.com/en-us/library/ms171868(v=vs.110)?f=255&amp;mspperror=-2147217396#Anchor_0">What's new in .NET 4.6.2</a></p> <p><a href="https://msdn.microsoft.com/en-us/library/ms171868(v=vs.110)?f=255&amp;mspperror=-2147217396#Anchor_2">What's new in .NET 2015 (.NET 4.6 and .NET Core)</a></p> <p><a href="https://msdn.microsoft.com/en-us/library/ms171868(v=vs.110)#v452">What’s new in the .NET Framework 4.5.2</a></p> <p><a href="https://msdn.microsoft.com/en-us/library/ms171868(v=vs.110)#v451">What’s new in the .NET Framework 4.5.1</a></p> <p><a href="https://support.microsoft.com/en-us/kb/2696944">Clarification on the support life cycle for the .NET Framework 3.5, the .NET Framework 3.0, and the .NET Framework 2.0</a></p> <p>HTH</p> <p>Doug</p>]]></content:encoded>
    </item>
    <item>
      <title>Red Hat Enterprise Linux in Azure Marketplace</title>
      <link>https://docs.microsoft.com/archive/blogs/dougste/red-hat-enterprise-linux-in-azure-marketplace</link>
      <pubDate>Thu, 18 Feb 2016 17:04:22 GMT</pubDate>
      <dc:creator><![CDATA[Doug Stewart -MSFT]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/dougste/?p=3241</guid>
      <description><![CDATA[Exciting announcements yesterday about the availability of Red Hat Enterprise Linux in Azure...]]></description>
      <content:encoded><![CDATA[<p>Exciting <a href="https://azure.microsoft.com/en-us/blog/more-open-source-innovation-azure/">announcements</a> yesterday about the availability of Red Hat Enterprise Linux in Azure Marketplace.</p> <p>Find out more about Red Hat solutions on Azure <a href="https://azure.microsoft.com/en-us/campaigns/redhat/">here</a>.</p> <p>/D</p>]]></content:encoded>
    </item>
    <item>
      <title>Unable to build a simple Cordova app in Visual Studio? Here’s a possible fix…</title>
      <link>https://docs.microsoft.com/archive/blogs/dougste/unable-to-build-a-simple-cordova-app-in-visual-studio-heres-a-possible-fix</link>
      <pubDate>Mon, 15 Feb 2016 16:07:10 GMT</pubDate>
      <dc:creator><![CDATA[Doug Stewart -MSFT]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/dougste/?p=3234</guid>
      <description><![CDATA[It is not so often these days that support cases have a quick solution. With the wealth of forums...]]></description>
      <content:encoded><![CDATA[<p>It is not so often these days that support cases have a quick solution. With the wealth of forums and other channels for peer assistance, most straightforward issues get fixed before people call us. So it is a pleasant change when something turns out to be quickly fixable.</p> <p>In this case, the customer was using the Apache Cordova tooling for Visual Studio. We’d confirmed they were using the latest version of this, which at the time was <a href="microsoft.github.io/vstacoblog/2016/02/04/announcing-update-6.html">Update 6</a>.</p> <p>Even a simple app created from the provided template would not build.</p> <p>The build log was showing this:</p> <p>1&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; npm ERR! code EJSONPARSE<br>1&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; npm ERR! Failed to parse json<br>1&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; npm ERR! Unexpected token '\u0000' at 1:1<br>1&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; npm ERR!&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; npm ERR! ^</p> <p>&nbsp;</p> <p>With quick input from the our team in Redmond that work on this it was clear the customer’s NPM cache had somehow got corrupted.</p> <p>Suggestion was to clear the cache, by shutting down Visual Studio and deleting the contents of “C:\Users\[USERNAME]\AppData\Roaming\npm-cache”.</p> <p>Happily, this fixed it.</p> <p>HTH</p> <p>Doug</p>]]></content:encoded>
    </item>
    <item>
      <title>Version history of the CLR 4.0</title>
      <link>https://docs.microsoft.com/archive/blogs/dougste/version-history-of-the-clr-4-0-2</link>
      <pubDate>Mon, 14 Dec 2015 10:57:38 GMT</pubDate>
      <dc:creator><![CDATA[Doug Stewart -MSFT]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/dougste/?p=3233</guid>
      <description><![CDATA[&nbsp; Following on from my “Version history of the CLR 2.0” post I’ve decided to start one for 4.0....]]></description>
      <content:encoded><![CDATA[<p>&nbsp;</p> <p>Following on from my <a href="https://blogs.msdn.com/b/dougste/archive/2007/09/06/version-history-of-the-clr-2-0.aspx">“Version history of the CLR 2.0”</a> post I’ve decided to start one for 4.0.</p> <p>The below generally only refer to patches affecting core CLR files clr.dll, not the rest of the framework, although I meant mention one or two other fixes with affected DLLs noted.</p> <p>The following version numbers refer to the final revision number part of the full file version number, in other words the xxxx bit of 4.0.30319.xxxx</p> <table cellspacing="0" cellpadding="2" width="597" border="1"> <tbody> <tr> <td valign="top" width="71"><strong>LDR <br>Branch</strong></td> <td valign="top" width="80"><strong>GDR <br>Branch</strong></td> <td valign="top" width="444"><strong>Description</strong></td></tr> <tr> <td valign="top" width="71"><font style="background-color: #cccccc">2073</font></td> <td valign="top" width="80"><font style="background-color: #cccccc">1040</font></td> <td valign="top" width="444"><font style="background-color: #cccccc"> [ MS15-118 affecting ASP.NET files ]</font></td></tr> <tr> <td valign="top" width="71"><font style="background-color: #cccccc">2063</font></td> <td valign="top" width="80"><font style="background-color: #cccccc">1036</font></td> <td valign="top" width="444"><font style="background-color: #cccccc"> [ MS15-101 affecting system.drawing.dll ]</font></td></tr> <tr> <td valign="top" width="71"><font style="background-color: #cccccc">2056</font></td> <td valign="top" width="80"><font style="background-color: #cccccc">1031</font></td> <td valign="top" width="444"><font style="background-color: #cccccc"> [ MS15-048 affecting system.security.dll ]</font></td></tr> <tr> <td valign="top" width="71"><font style="background-color: #cccccc">2059</font></td> <td valign="top" width="80"><font style="background-color: #cccccc">1034</font></td> <td valign="top" width="444"><font style="background-color: #cccccc"> [ MS15-044 affecting WPF files ]</font></td></tr> <tr> <td valign="top" width="71"><font style="background-color: #cccccc">2056</font></td> <td valign="top" width="80"><font style="background-color: #cccccc">1031</font></td> <td valign="top" width="444"><font style="background-color: #cccccc"> [ MS15-041 affecting ASP.NET files ]</font></td></tr> <tr> <td valign="top" width="71"><font style="background-color: #cccccc">2049</font></td> <td valign="top" width="80"><font style="background-color: #cccccc">1030</font></td> <td valign="top" width="444"><font style="background-color: #cccccc"> [ MS14-072 affecting system.runtime.remoting.dll ]</font></td></tr> <tr> <td valign="top" width="71"><font style="background-color: #cccccc">2045</font></td> <td valign="top" width="80"><font style="background-color: #cccccc">1026</font></td> <td valign="top" width="444"><font style="background-color: #cccccc"> [ MS14-057 affecting system.dll ]</font></td></tr> <tr> <td valign="top" width="71">2045</td> <td valign="top" width="80">1026</td> <td valign="top" width="444"><a href="https://technet.microsoft.com/en-us/library/security/MS14-053">MS14-053</a></td></tr> <tr> <td valign="top" width="71">2008</td> <td valign="top" width="80">&nbsp;</td> <td valign="top" width="444"><a href="https://support.microsoft.com/kb/2828843">Hotfix rollup 2828843 is available for the .NET Framework 4 on Windows XP SP3, Windows Server 2003 SP2, Windows Vista SP2, Windows Server 2008 SP2, Windows 7, Windows 7 SP1, Windows Server 2008 R2, or Windows Server 2008 R2 SP1</a></td></tr> <tr> <td valign="top" width="71">&nbsp;</td> <td valign="top" width="80">&nbsp;</td> <td valign="top" width="444">&nbsp;</td></tr> <tr> <td valign="top" width="71">2004</td> <td valign="top" width="80">&nbsp;</td> <td valign="top" width="444"><a href="https://support.microsoft.com/kb/2803771">Hotfix rollup 2803771 is available for the .NET Framework 4</a></td></tr> <tr> <td valign="top" width="71">2001</td> <td valign="top" width="80">1001</td> <td valign="top" width="444"><a href="https://support.microsoft.com/kb/2742595">MS13-004: Description of the security update for the .NET Framework 4 on Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7, and Windows Server 2008 R2: January 8, 2013</a></td></tr> <tr> <td valign="top" width="71">590</td> <td valign="top" width="80">&nbsp;</td> <td valign="top" width="444"><a href="https://support.microsoft.com/kb/2756195">Hotfix Rollup KB2756195 is available for the .NET Framework 4 on Windows XP SP3, Windows Server 2003 SP2, Windows Vista SP2, Windows Server 2008 SP2, Windows 7, Windows 7 SP1, Windows Server 2008 R2, and Windows Server 2008 R2 SP1</a></td></tr> <tr> <td valign="top" width="71">586</td> <td valign="top" width="80">296</td> <td valign="top" width="444"><a href="https://support.microsoft.com/kb/2729449">MS12-074: Description of the security update for the .NET Framework 4 on Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7, and Windows Server 2008 R2: November 13, 2012</a></td></tr> <tr> <td valign="top" width="71">577</td> <td valign="top" width="80">&nbsp;</td> <td valign="top" width="444"><a href="https://support.microsoft.com/kb/2733944/en-us">Hotfix Rollup 2733944 is available for the .NET Framework 4 on Windows XP SP3, Windows Server 2003 SP2, Windows Vista SP2, Windows Server 2008 SP2, Windows 7, Windows 7 SP1, Windows Server 2008 R2, and Windows Server 2008 R2 SP1</a></td></tr> <tr> <td valign="top" width="71">569</td> <td valign="top" width="80">&nbsp;</td> <td valign="top" width="444"><a href="https://support.microsoft.com/?id=2714396">Hotfix Rollup 2714396 is available for the .NET Framework 4</a></td></tr> <tr> <td valign="top" width="71">559</td> <td valign="top" width="80">&nbsp;</td> <td valign="top" width="444"><a href="https://support.microsoft.com/?id=2675468">FIX: Console.ReadLine method waits for input instead of returning a null value when the redirected standard input of an application is closed in the .NET Framework 4.0</a></td></tr> <tr> <td valign="top" width="71">551</td> <td valign="top" width="80">276</td> <td valign="top" width="444"><a href="https://support.microsoft.com/kb/2600211">2600211</a>&nbsp;<a href="https://support.microsoft.com/kb/2600211">Update 4.0.3 for Microsoft .NET Framework 4 – Runtime Update</a> </td></tr> <tr> <td valign="top" width="71">544</td> <td valign="top" width="80">269</td> <td valign="top" width="444"><a href="https://support.microsoft.com/?id=2604121">MS12-035: Description of the security update for the .NET Framework 4 on Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7, and Windows Server 2008 R2: May 8, 2012</a></td></tr> <tr> <td valign="top" width="71">530</td> <td valign="top" width="80">261</td> <td valign="top" width="444"><a href="https://support.microsoft.com/?id=2600217">2600217</a>&nbsp;<a href="https://support.microsoft.com/?id=2600217">Reliability Update 2 for the .NET Framework 4</a> </td></tr> <tr> <td valign="top" width="71">526</td> <td valign="top" width="80">&nbsp;</td> <td valign="top" width="444"><a href="https://support.microsoft.com/kb/2640103/">2640103</a>&nbsp;<a href="https://support.microsoft.com/kb/2640103/">FIX: "Faulting module name: clr.dll" error message when you run a Microsoft .NET Framework 4-based application</a></td></tr> <tr> <td valign="top" width="71">500</td> <td valign="top" width="80">&nbsp;</td> <td valign="top" width="444"><a href="https://support.microsoft.com/kb/2592573">2592573</a>&nbsp;<a href="https://support.microsoft.com/kb/2592573">"Positive number required" error when you use a .NET Framework 4-based application to deserialize a file</a></td></tr> <tr> <td valign="top" width="71">488</td> <td valign="top" width="80">239</td> <td valign="top" width="444"><a href="https://support.microsoft.com/kb/2572078">2572078</a>&nbsp;<a href="https://support.microsoft.com/kb/2572078">MS11-078: Description of the security update for .NET Framework 4: October 11, 2011</a> </td></tr> <tr> <td valign="top" width="71">485</td> <td valign="top" width="80">&nbsp;</td> <td valign="top" width="444"><a href="https://support.microsoft.com/kb/2563373">2563373</a>&nbsp;<a href="https://support.microsoft.com/kb/2563373">Application might crash and encounter a System.NullReferenceException exception in the .NET Framework 4 if the CorrelationManager.LogicalOperationStack property is used</a></td></tr> <tr> <td valign="top" width="71">476</td> <td valign="top" width="80">&nbsp;</td> <td valign="top" width="444"><a href="https://support.microsoft.com/kb/2540745">2540745 FIX: High memory usage when the Thread.AllocateDataSlot method allocates data slots in the .NET Framework 4</a></td></tr> <tr> <td valign="top" width="71">468</td> <td valign="top" width="80">237</td> <td valign="top" width="444"><a href="https://support.microsoft.com/?id=2533523">2533523</a> <a href="https://support.microsoft.com/?id=2533523">Reliability Update 1 for the .NET Framework 4</a></td></tr> <tr> <td valign="top" width="71">461</td> <td valign="top" width="80">&nbsp;</td> <td valign="top" width="444"><a href="https://support.microsoft.com/kb/2538717">2538717</a>&nbsp;<a href="https://support.microsoft.com/kb/2538717">FIX: Application may crash if the Localized property is set to True in a .NET Framework 4-based Windows Form application</a></td></tr> <tr> <td valign="top" width="71">454</td> <td valign="top" width="80">235</td> <td valign="top" width="444"><a href="https://support.microsoft.com/kb/2518870">2518870</a>&nbsp;<a href="https://support.microsoft.com/kb/2518870">MS11-044: Description of the security update for the .NET Framework 4 on Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7, and Windows Server 2008 R2: June 14, 2011</a> </td></tr> <tr> <td valign="top" width="71">453</td> <td valign="top" width="80">&nbsp;</td> <td valign="top" width="444"><a href="https://support.microsoft.com/kb/2511058">2511058</a>&nbsp;<a href="https://support.microsoft.com/kb/2511058">FIX: Full thread stack is committed unexpectedly when you start threads that are not created in CLR after you set the value of the disableCommitThreadStack element to 1 in the .NET Framework 4</a></td></tr> <tr> <td valign="top" width="71">450</td> <td valign="top" width="80">233</td> <td valign="top" width="444"><a href="https://support.microsoft.com/?id=2468871">2468871</a>&nbsp;<a href="https://support.microsoft.com/?id=2468871">Update for the .NET Framework 4</a> </td></tr> <tr> <td valign="top" width="71">448</td> <td valign="top" width="80">&nbsp;</td> <td valign="top" width="444"><a href="https://support.microsoft.com/kb/2509818">2509818</a>&nbsp;<a href="https://support.microsoft.com/kb/2509818">FIX: ICorDebug interface does not resolve the managed frames on all stacks for a mini-dump file in the .NET Framework 4</a></td></tr> <tr> <td valign="top" width="71">431</td> <td valign="top" width="80">225</td> <td valign="top" width="444"><a href="https://support.microsoft.com/kb/2446708">2446708</a>&nbsp;<a href="https://support.microsoft.com/kb/2446708">MS11-028: Description of the security update for the .NET Framework 4 on Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7, and Windows Server 2008 R2: April 12, 2011</a> </td></tr> <tr> <td valign="top" width="71">404</td> <td valign="top" width="80">&nbsp;</td> <td valign="top" width="444"><a href="https://support.microsoft.com/kb/2467309">2467309</a>&nbsp;<a href="https://support.microsoft.com/kb/2467309">FIX: The String.IndexOf method takes longer than expected to finish, and .NET Framework 4.0 performance decreases significantly</a></td></tr> <tr> <td valign="top" width="71">390</td> <td valign="top" width="80">&nbsp;</td> <td valign="top" width="444"><a href="https://support.microsoft.com/kb/2260913">2260913</a>&nbsp;<a href="https://support.microsoft.com/kb/2260913">FIX: Updating the .NET Framework may fail and some files in the GAC may be deleted</a></td></tr> <tr> <td valign="top" width="71">372</td> <td valign="top" width="80">208</td> <td valign="top" width="444"><a href="https://support.microsoft.com/kb/2162169">2162169</a>&nbsp;<a href="https://support.microsoft.com/kb/2162169">A beta version of an update rollup package is available for the .NET Framework 4</a></td></tr> <tr> <td valign="top" width="71">315</td> <td valign="top" width="80">&nbsp;</td> <td valign="top" width="444"><a href="https://support.microsoft.com/kb/982638">982638</a>&nbsp;<a href="https://support.microsoft.com/kb/982638">A hotfix rollup is available for the .NET Framework 4 to fix some known issues in the .NET Framework remoting</a></td></tr> <tr> <td valign="top" width="71">&nbsp;</td> <td valign="top" width="80"><a href="https://msdn.microsoft.com/en-us/netframework/aa569263.aspx">1</a></td> <td valign="top" width="444"><a href="https://msdn.microsoft.com/en-us/netframework/aa569263.aspx">.NET 4.0 RTM</a> (<a href="https://www.microsoft.com/download/en/details.aspx?displaylang=en&amp;id=17851">web installer</a>) (<a href="https://www.microsoft.com/download/en/details.aspx?displaylang=en&amp;id=17718">standalone installer</a>)</td></tr></tbody></table>]]></content:encoded>
    </item>
    <item>
      <title>PasswordVault.Add may fail on Windows 10</title>
      <link>https://docs.microsoft.com/archive/blogs/dougste/passwordvault-add-may-fail-on-windows-10</link>
      <pubDate>Fri, 28 Aug 2015 06:11:27 GMT</pubDate>
      <dc:creator><![CDATA[Doug Stewart -MSFT]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/dougste/2015/08/28/passwordvault-add-may-fail-on-windows-10/</guid>
      <description><![CDATA[&nbsp;I am slightly embarrassed by the length of time since my last blog post. But never mind, here...]]></description>
      <content:encoded><![CDATA[<p>&nbsp;<p>I am slightly embarrassed by the length of time since my last blog post. But never mind, here I am again!</p><p>I&rsquo;ve been working on a customer issue lately where an existing Windows Store app was failing on Windows 10. Initially the app, which ran fine on Windows 8.1 was crashing when installed and run, unaltered, on Windows 10.&nbsp; The code involved looked something like this:</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var vault = new PasswordVault();   <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Add the new credential     <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var passwordCredential = new PasswordCredential("test", "user", "password");</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try   <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // *** This should not give an error ***   <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vault.Add(passwordCredential);    <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return "Successfully added credential!";</p><p>   <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }    <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; catch (Exception excp)    <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {    <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return "Failed!" + excp.ToString();    <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }    <br></p><p><a href="https://msdn.microsoft.com/en-us/library/windows/apps/windows.security.credentials.passwordvault.aspx">PasswordVault</a> is a handy class that allows you to securely store credentials used by your Windows Store or Windows Phone 8.1 app.</p><p>The .NET exception thrown was System.ArgumentException with the text &ldquo;The parameter is incorrect. Cannot add credential to Vault&rdquo;.&nbsp; Of course, without the exception handler the app was crashing. With the exception handler it was not crashing but the credentials were not stored either. Not very useful.</p><p>As is often the way when debugging, I started by getting the customer&rsquo;s solution into a state where I could compile and debug it locally, eliminating dependencies I did not have or need.&nbsp; At that point I could reproduce the issue.&nbsp; Next step was to start from a blank solution and build it up, adding similar code to that used in the customer&rsquo;s solution. Interestingly that did not fail! So there had to be some other factor.</p><p>Anyway, to cut a long story short, it turned out this is a corner case that depends on the full app names length.&nbsp; As a result, this only affects a very small number of apps.&nbsp; The good news is that we got a bug filed and a fix through the system which has now been released, as of yesterday&rsquo;s cumulative update:</p><p><a href="https://support.microsoft.com/en-gb/kb/3081448">Cumulative Update for Windows 10: August 27, 2015</a> (KB3081448)</p><p>Hope that helps</p><p>Doug   </p></p>
]]></content:encoded>
    </item>
  </channel>
</rss>