Skip to content

Breaking changes improvements #16613

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 11 commits into from
Jan 13, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion .openpublishing.redirection.json
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@
},
{
"source_path": "docs/core/compatibility/framework-core.md",
"redirect_url": "/dotnet/core/porting/winforms-breaking-changes"
"redirect_url": "/dotnet/core/compatibility/fx-core"
},
{
"source_path": "docs/core/deploying/applications.md",
Expand Down Expand Up @@ -158,6 +158,10 @@
"source_path": "docs/core/porting/nuget-packages.md",
"redirect_url": "/dotnet/core/packages"
},
{
"source_path": "docs/core/porting/winforms-breaking-changes.md",
"redirect_url": "/dotnet/core/compatibility/fx-core"
},
{
"source_path": "docs/core/porting/wpf.md",
"redirect_url": "/dotnet/desktop-wpf/migration/convert-project-from-net-framework",
Expand Down
3 changes: 0 additions & 3 deletions docs/core/compatibility/breaking-changes.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,6 @@ Select the .NET version that you're currently targeting and then the .NET Core v

[!INCLUDE[versionselector](~/includes/core-changes/versionselector.md)]

> [!TIP]
> If you're migrating a Windows Forms app from .NET Framework to .NET Core, see [Breaking changes in Windows Forms (.NET Framework to .NET Core)](../porting/winforms-breaking-changes.md) instead of using the version selector.

## By area

Select the .NET Core technology area that you're interested in. Individual changes are ordered by .NET Core version.
Expand Down
96 changes: 94 additions & 2 deletions docs/core/compatibility/fx-core.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,110 @@ ms.date: 12/18/2019
---
# Breaking changes for migration from .NET Framework to .NET Core

If you're migrating an app from .NET Framework to .NET Core, the breaking changes listed in this article may affect you. Breaking changes are grouped by category.
If you're migrating an app from .NET Framework to .NET Core, the breaking changes listed in this article may affect you. Breaking changes are grouped by category, and within those categories, by the version of .NET Core they were introduced in.

> [!NOTE]
> This article is not a complete list of breaking changes between .NET Framework and .NET Core. The most important breaking changes are added here as we become aware of them.

## CoreFx

Breaking changes:

- [Change in default value of UseShellExecute](#change-in-default-value-of-useshellexecute)

***

### .NET Core 2.1

[!INCLUDE[Process.Start changes](~/includes/core-changes/corefx/2.1/process-start-changes.md)]

***

## Windows Forms

For information about breaking changes when you migrate a Windows Forms app from .NET Framework to .NET Core 3.0 or later, see [Breaking changes in Windows Forms (.NET Framework to .NET Core)](../porting/winforms-breaking-changes.md).
Windows Forms support was added to .NET Core in version 3.0. If you're migrating a Windows Forms app from .NET Framework to .NET Core, the breaking changes listed here may affect your app.

Breaking changes:

- [Removed controls](#removed-controls)
- [CellFormatting event not raised if tooltip is shown](#cellformatting-event-not-raised-if-tooltip-is-shown)
- [Control.DefaultFont changed to Segoe UI 9 pt](#default-control-font-changed-to-segoe-ui-9-pt)
- [Modernization of the FolderBrowserDialog](#modernization-of-the-folderbrowserdialog)
- [SerializableAttribute removed from some Windows Forms types](#serializableattribute-removed-from-some-windows-forms-types)
- [AllowUpdateChildControlIndexForTabControls compatibility switch not supported](#allowupdatechildcontrolindexfortabcontrols-compatibility-switch-not-supported)
- [DomainUpDown.UseLegacyScrolling compatibility switch not supported](#domainupdownuselegacyscrolling-compatibility-switch-not-supported)
- [DoNotLoadLatestRichEditControl compatibility switch not supported](#donotloadlatestricheditcontrol-compatibility-switch-not-supported)
- [DoNotSupportSelectAllShortcutInMultilineTextBox compatibility switch not supported](#donotsupportselectallshortcutinmultilinetextbox-compatibility-switch-not-supported)
- [DontSupportReentrantFilterMessage compatibility switch not supported](#dontsupportreentrantfiltermessage-compatibility-switch-not-supported)
- [EnableVisualStyleValidation compatibility switch not supported](#enablevisualstylevalidation-compatibility-switch-not-supported)
- [UseLegacyContextMenuStripSourceControlValue compatibility switch not supported](#uselegacycontextmenustripsourcecontrolvalue-compatibility-switch-not-supported)
- [UseLegacyImages compatibility switch not supported](#uselegacyimages-compatibility-switch-not-supported)
- [Change of access for AccessibleObject.RuntimeIDFirstItem](#change-of-access-for-accessibleobjectruntimeidfirstitem)
- [Duplicated APIs removed from Windows Forms](#duplicated-apis-removed-from-windows-forms)

### .NET Core 3.1

[!INCLUDE[Removed controls](~/includes/core-changes/windowsforms/3.1/remove-controls-3.1.md)]

***

[!INCLUDE[CellFormatting event](~/includes/core-changes/windowsforms/3.1/cellformatting-event-not-raised.md)]

***

### .NET Core 3.0

[!INCLUDE[Control.DefaultFont changed to Segoe UI 9 pt](~/includes/core-changes/windowsforms/3.0/control-defaultfont-changed.md)]

***

[!INCLUDE[Modernization of the FolderBrowserDialog](~/includes/core-changes/windowsforms/3.0/modernized-folderbrowserdialog.md)]

***

[!INCLUDE[SerializableAttribute removed from some Windows Forms types](~/includes/core-changes/windowsforms/3.0/remove-serializationattribute.md)]

***

[!INCLUDE[AllowUpdateChildControlIndexForTabControls compatibility switch not supported](~/includes/core-changes/windowsforms/3.0/deprecate-allowupdatechildcontrolindexfortabcontrols.md)]

***

[!INCLUDE[DomainUpDown.UseLegacyScrolling compatibility switch not supported](~/includes/core-changes/windowsforms/3.0/deprecate-uselegacyscrolling.md)]

***

[!INCLUDE[DoNotLoadLatestRichEditControl compatibility switch not supported](~/includes/core-changes/windowsforms/3.0/deprecate-donotloadlatestricheditcontrol.md)]

***

[!INCLUDE[DoNotSupportSelectAllShortcutInMultilineTextBox compatibility switch not supported](~/includes/core-changes/windowsforms/3.0/deprecate-donotsupportselectallshortcutinmultilinetextbox.md)]

***

[!INCLUDE[DontSupportReentrantFilterMessage compatibility switch not supported](~/includes/core-changes/windowsforms/3.0/deprecate-dontsupportreentrantfiltermessage.md)]

***

[!INCLUDE[EnableVisualStyleValidation compatibility switch not supported](~/includes/core-changes/windowsforms/3.0/deprecate-enablevisualstylevalidation.md)]

***

[!INCLUDE[UseLegacyContextMenuStripSourceControlValue compatibility switch not supported](~/includes/core-changes/windowsforms/3.0/deprecate-uselegacycontextmenustripsourcecontrolvalue.md)]

***

[!INCLUDE[UseLegacyImages compatibility switch not supported](~/includes/core-changes/windowsforms/3.0/deprecate-uselegacyimages.md)]

***

[!INCLUDE[Change of access for AccessibleObject.RuntimeIDFirstItem](~/includes/core-changes/windowsforms/3.0/changed-access-for-runtimeidfirstitem.md)]

***

[!INCLUDE[Duplicated APIs removed from Windows Forms](~/includes/core-changes/windowsforms/3.0/remove-duplicated-apis.md)]

***

## See also

Expand Down
4 changes: 3 additions & 1 deletion docs/core/compatibility/toc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,9 @@
items:
- name: Breaking changes
href: fx-core.md
- name: APIs that throw exceptions
- name: Unavailable technologies
href: ../porting/net-framework-tech-unavailable.md?toc=/dotnet/core/compatibility/toc.json&bc=/dotnet/breadcrumb/toc.json
- name: APIs that always throw
href: unsupported-apis.md
- name: By area
expanded: true
Expand Down
60 changes: 30 additions & 30 deletions docs/core/compatibility/unsupported-apis.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ ms.date: 12/23/2019
---
# APIs that always throw exceptions on .NET Core

The following APIs will always through a <xref:System.PlatformNotSupportedException> when run on .NET Core on the specified platform.
The following APIs will always throw a <xref:System.PlatformNotSupportedException> on .NET Core on all or a subset of platforms.

This article organizes the affected API members by namespace.

Expand All @@ -16,7 +16,7 @@ This article organizes the affected API members by namespace.

## System

| Member | Platform |
| Member | Platforms that throw |
| - | - |
| <xref:System.AppDomain.CreateDomain%2A?displayProperty=nameWithType> | All |
| <xref:System.AppDomain.ExecuteAssembly(System.String,System.String[],System.Byte[],System.Configuration.Assemblies.AssemblyHashAlgorithm)?displayProperty=nameWithType> | All |
Expand All @@ -31,29 +31,29 @@ This article organizes the affected API members by namespace.

## System.CodeDom.Compiler

| Member | Platform |
| Member | Platforms that throw |
| - | - |
| <xref:System.CodeDom.Compiler.CodeDomProvider.CompileAssemblyFromDom%2A?displayProperty=nameWithType> | All |
| <xref:System.CodeDom.Compiler.CodeDomProvider.CompileAssemblyFromFile%2A?displayProperty=nameWithType> | All |
| <xref:System.CodeDom.Compiler.CodeDomProvider.CompileAssemblyFromSource%2A?displayProperty=nameWithType> | All |

## System.Collections.Specialized

| Member | Platform |
| Member | Platforms that throw |
| - | - |
| <xref:System.Collections.Specialized.NameObjectCollectionBase.%23ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)?displayProperty=nameWithType> | All |
| <xref:System.Collections.Specialized.NameObjectCollectionBase.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)?displayProperty=nameWithType> | All |
| <xref:System.Collections.Specialized.NameObjectCollectionBase.OnDeserialization(System.Object)?displayProperty=nameWithType> | All |

## System.Configuration

| Member | Platform |
| Member | Platforms that throw |
| - | - |
| <xref:System.Configuration.RsaProtectedConfigurationProvider?displayProperty=nameWithType> (all members) | All |

## System.Console

| Member | Platform |
| Member | Platforms that throw |
| - | - |
| <xref:System.Console.Beep?displayProperty=nameWithType> | Linux and macOS |
| <xref:System.Console.BufferHeight?displayProperty=nameWithType> (set only) | Linux and macOS |
Expand All @@ -71,13 +71,13 @@ This article organizes the affected API members by namespace.

## System.Data.Common

| Member | Platform |
| Member | Platforms that throw |
| - | - |
| <xref:System.Data.Common.DbDataReader.GetSchemaTable%2A?displayProperty=nameWithType> (throws <xref:System.NotSupportedException>) | All |

## System.Diagnostics.Process

| Member | Platform |
| Member | Platforms that throw |
| - | - |
| <xref:System.Diagnostics.Process.MaxWorkingSet?displayProperty=nameWithType> (set only) | Linux |
| <xref:System.Diagnostics.Process.MinWorkingSet?displayProperty=nameWithType> (set only) | Linux |
Expand All @@ -94,14 +94,14 @@ This article organizes the affected API members by namespace.

## System.IO

| Member | Platform |
| Member | Platforms that throw |
| - | - |
| <xref:System.IO.FileSystemInfo.%23ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)?displayProperty=nameWithType> | All |
| <xref:System.IO.FileSystemInfo.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)?displayProperty=nameWithType> | All |

## System.IO.Pipes

| Member | Platform |
| Member | Platforms that throw |
| - | - |
| <xref:System.IO.Pipes.NamedPipeClientStream.NumberOfServerInstances?displayProperty=nameWithType> | Linux and macOS |
| <xref:System.IO.Pipes.NamedPipeServerStream.GetImpersonationUserName?displayProperty=nameWithType> | Linux and macOS |
Expand All @@ -112,13 +112,13 @@ This article organizes the affected API members by namespace.

## System.Media

| Member | Platform |
| Member | Platforms that throw |
| - | - |
| <xref:System.Media.SoundPlayer.%23ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)?displayProperty=nameWithType> | All |

## System.Net

| Member | Platform |
| Member | Platforms that throw |
| - | - |
| <xref:System.Net.AuthenticationManager.Authenticate(System.String,System.Net.WebRequest,System.Net.ICredentials)?displayProperty=nameWithType> | All |
| <xref:System.Net.AuthenticationManager.PreAuthenticate(System.Net.WebRequest,System.Net.ICredentials)?displayProperty=nameWithType> | All |
Expand All @@ -140,25 +140,25 @@ This article organizes the affected API members by namespace.

## System.Net.NetworkInformation

| Member | Platform |
| Member | Platforms that throw |
| - | - |
| <xref:System.Net.NetworkInformation.Ping.Send%2A?displayProperty=nameWithType> | Windows (UWP) |

## System.Net.Sockets

| Member | Platform |
| Member | Platforms that throw |
| - | - |
| <xref:System.Net.Sockets.Socket.DuplicateAndClose(System.Int32)?displayProperty=nameWithType> | All |

## System.Net.WebSockets

| Member | Platform |
| Member | Platforms that throw |
| - | - |
| <xref:System.Net.WebSockets.WebSocket.RegisterPrefixes?displayProperty=nameWithType> | All |

## System.Reflection

| Member | Platform |
| Member | Platforms that throw |
| - | - |
| <xref:System.Reflection.Assembly.ReflectionOnlyLoad%2A?displayProperty=nameWithType> | All |
| <xref:System.Reflection.Assembly.ReflectionOnlyLoadFrom(System.String)?displayProperty=nameWithType> | All |
Expand All @@ -170,13 +170,13 @@ This article organizes the affected API members by namespace.

## System.Runtime.CompilerServices

| Member | Platform |
| Member | Platforms that throw |
| - | - |
| <xref:System.Runtime.CompilerServices.DebugInfoGenerator.CreatePdbGenerator?displayProperty=nameWithType> | All |

## System.Runtime.InteropServices

| Member | Platform |
| Member | Platforms that throw |
| - | - |
| <xref:System.Runtime.InteropServices.Marshal.GetIDispatchForObject(System.Object)?displayProperty=nameWithType> | All |
| <xref:System.Runtime.InteropServices.RuntimeEnvironment.SystemConfigurationFile?displayProperty=nameWithType> | All |
Expand All @@ -188,13 +188,13 @@ This article organizes the affected API members by namespace.

## System.Runtime.Serialization

| Member | Platform |
| Member | Platforms that throw |
| - | - |
| <xref:System.Runtime.Serialization.XsdDataContractExporter.Schemas?displayProperty=nameWithType> | All |

## System.Security

| Member | Platform |
| Member | Platforms that throw |
| - | - |
| <xref:System.Security.CodeAccessPermission.Deny?displayProperty=nameWithType> | All |
| <xref:System.Security.CodeAccessPermission.PermitOnly?displayProperty=nameWithType> | All |
Expand All @@ -213,7 +213,7 @@ This article organizes the affected API members by namespace.

## System.Security.Claims

| Member | Platform |
| Member | Platforms that throw |
| - | - |
| <xref:System.Security.Claims.ClaimsPrincipal.%23ctor?displayProperty=nameWithType> | All |
| <xref:System.Security.Claims.ClaimsPrincipal.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)?displayProperty=nameWithType> | All |
Expand All @@ -223,7 +223,7 @@ This article organizes the affected API members by namespace.

## System.Security.Cryptography

| Member | Platform |
| Member | Platforms that throw |
| - | - |
| <xref:System.Security.Cryptography.AsymmetricAlgorithm.Create(System.String)?displayProperty=nameWithType> | All |
| <xref:System.Security.Cryptography.CspKeyContainerInfo.%23ctor%2A?displayProperty=nameWithType> | Linux and macOS |
Expand Down Expand Up @@ -257,15 +257,15 @@ This article organizes the affected API members by namespace.

## System.Security.Cryptography.Pkcs

| Member | Platform |
| Member | Platforms that throw |
| - | - |
| <xref:System.Security.Cryptography.Pkcs.CmsSigner.%23ctor(System.Security.Cryptography.CspParameters)?displayProperty=nameWithType> | All |
| <xref:System.Security.Cryptography.Pkcs.SignedCms.ComputeSignature(System.Security.Cryptography.Pkcs.CmsSigner,System.Boolean)?displayProperty=nameWithType> | All |
| <xref:System.Security.Cryptography.Pkcs.SignerInfo.ComputeCounterSignature?displayProperty=nameWithType> | All |

## System.Security.Cryptography.X509Certificates

| Member | Platform |
| Member | Platforms that throw |
| - | - |
| <xref:System.Security.Cryptography.X509Certificates.X509Certificate.%23ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)?displayProperty=nameWithType> | All |
| <xref:System.Security.Cryptography.X509Certificates.X509Certificate.Import%2A?displayProperty=nameWithType> | All |
Expand All @@ -274,31 +274,31 @@ This article organizes the affected API members by namespace.

## System.Security.Authentication.ExtendedProtection

| Member | Platform |
| Member | Platforms that throw |
| - | - |
| <xref:System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy.%23ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)?displayProperty=nameWithType> | All |

## System.Security.Policy

| Member | Platform |
| Member | Platforms that throw |
| - | - |
| <xref:System.Security.Policy.Hash.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)?displayProperty=nameWithType> | All |

## System.ServiceProcess.ServiceController

| Member | Platform |
| Member | Platforms that throw |
| - | - |
| <xref:System.ServiceProcess.TimeoutException.%23ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)?displayProperty=nameWithType> | All |

## System.Text.RegularExpressions

| Member | Platform |
| Member | Platforms that throw |
| - | - |
| <xref:System.Text.RegularExpressions.Regex.CompileToAssembly%2A?displayProperty=nameWithType> | All |

## System.Threading

| Member | Platform |
| Member | Platforms that throw |
| - | - |
| <xref:System.Threading.CompressedStack.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)?displayProperty=nameWithType> | All |
| <xref:System.Threading.ExecutionContext.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)?displayProperty=nameWithType> | All |
Expand All @@ -309,7 +309,7 @@ This article organizes the affected API members by namespace.

## System.Xml

| Member | Platform |
| Member | Platforms that throw |
| - | - |
| <xref:System.Xml.XmlDictionaryReader.CreateMtomReader(System.Byte[],System.Int32,System.Int32,System.Text.Encoding[],System.String,System.Xml.XmlDictionaryReaderQuotas,System.Int32,System.Xml.OnXmlDictionaryReaderClose)?displayProperty=nameWithType> | All |
| <xref:System.Xml.XmlDictionaryReader.CreateMtomReader(System.IO.Stream,System.Text.Encoding[],System.String,System.Xml.XmlDictionaryReaderQuotas,System.Int32,System.Xml.OnXmlDictionaryReaderClose)?displayProperty=nameWithType> | All |
Expand Down
Loading