Notice: This website is an unofficial Microsoft Knowledge Base (hereinafter KB) archive and is intended to provide a reliable access to deleted content from Microsoft KB. All KB articles are owned by Microsoft Corporation. Read full disclaimer for more details.

Hotfix rollup 3146715 for the .NET Framework 4.6 and 4.6.1 in Windows


View products that this article applies to.

This article describes hotfix rollup 3146715, which is available for the Microsoft .NET Framework 4.6 and 4.6.1. For more information about the issues that this rollup fixes, see the Issues that this hotfix rollup fixes section.

↑ Back to the top


Resolution

The following files are available for download from the Microsoft Download Center:

Download Download the x86 package now.

Download Download the x64 package now.

For more information about how to download Microsoft support files, click the following article number to view the article in the Microsoft Knowledge Base:
119591 How to obtain Microsoft support files from online services
Microsoft scanned this file for viruses. Microsoft used the most current virus-detection software that was available on the date that the file was posted. The file is stored on security-enhanced servers that help prevent any unauthorized changes to the file.


Note To verify the hotfix update version, check the value of the Release keyword to determine the installed version. To be forward-compatible, you can check for a value that's greater than or equal to the value that's listed in the following table.

Hotfix rollup version Value of the release DWORD 
Hotfix rollup 3146711 for the .NET Framework 4.6 and later versions 394294
For more information about how to determine .NET Framework versions, see How to: Determine which .NET Framework versions are installed.

↑ Back to the top


More Information

Prerequisites

To apply this hotfix, you must have the .NET Framework 4.6 or 4.6.1 installed.

Restart requirement

You must restart the computer after you apply this hotfix if any affected files are being used. We recommend that you close all .NET Framework-based applications before you apply this hotfix.

Hotfix replacement information

This hotfix package doesn't replace a previously released hotfix package.

↑ Back to the top




Issues that this hotfix rollup fixes

CLR JIT issue

C# structures are passed by reference, not by value, when the code is run on a computer that has the .NET Framework 4.6 installed and that uses the RyuJIT compiler. One symptom of this bug is that the code represents the data in a collection in the incorrect order (time-series). This change in behavior from earlier versions of .NET Framework triggers unexpected behavior when clients retrieve time-series data from the data historian.​

This issue occurs because the lvAddrExposed flag is missing for tmp variables that serve as pass-by-ref arguments. This, in turn, corrupts the copy prop phase.

CLR issue

An issue in CLR type loader may trigger a deadlock while generic types are being restored from native images. This causes a failure in the ngen createpdb command​. This hotfix resolves this issue.

Windows Forms issue

The Windows Forms PrintPreviewDialog UI is initialized very slowly when the following conditions are true:

  • A network printer is used.
  • User preferences for this printer, such as duplex settings, are modified.
Performance optimization has been added to this scenario. If page settings are not modified for a specific page, printer settings are not reapplied (by accessing to the printer spooler) for this page. If the application modifies printer settings by using the QueryPageSettings event handler, print preview generation performance for the affected pages will not improve even if the opt-in flag is set.

In order to opt in to this optimization, the following key should be added to the app.config file, depending on your version of .NET Framework.

.NET Framework 4.5.2:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
< appSettings >
< add key="OptimizePrintPreview" value="true" />
< /appSettings >
</configuration>
.NET Framework 4.6 or a later version:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
< runtime>
< AppContextSwitchOverrides value = "Switch.System.Drawing.Printing.OptimizePrintPreview=true" />
< /runtime>
</configuration>
If an application could run on either version of the .NET Framework, use both switches in the same file.

To opt out, remove the switches, or set the values to false. ​

ClickOnce issue

ClickOnce has been updated to support TLS 1.1 and 1.2. ClickOnce now automatically detects which TLS protocol is required at runtime. There are no extra steps required in ClickOnce to enable this functionality.

Note ClickOnce continues to support TLS 1.0 for the foreseeable future, even though it is no longer considered PCI-compliant.​

↑ Back to the top


Keywords: kb, kbfix, kbsurveynew, kbexpertiseadvanced, atdownload

↑ Back to the top

Article Info
Article ID : 3146715
Revision : 1
Created on : 1/7/2017
Published on : 4/13/2016
Exists online : False
Views : 299