Compatibility diagnostic wording fixes (#413)

* Update breaking changes based on PR feedback

* Split breaking change 181 into multiple categories

* Fix incorrect xrefs
pull/418/head
Connie Yau 2017-05-30 11:57:12 -07:00 committed by Rich Lander
parent fb811127e7
commit a516c75d9a
20 changed files with 34 additions and 35 deletions

View File

@ -126,7 +126,7 @@ Please help us improve the [.NET Framework Application Compatibility documents](
- [Compiler support for type forwarding when multi-targeting mscorlib](compiler-support-for-type-forwarding-when-multi-targeting-mscorlib.md)
- [ConcurrentQueue<T>.TryPeek can return an erroneous null via its out parameter](concurrentqueue_trypeek-can-return-an-erroneous-null-via-its-out-parameter.md)
- [Different exception handling for ObjectContext.CreateDatabase and DbProviderServices.CreateDatabase methods](different-exception-handling-for-objectcontext_createdatabase-and-dbproviderservices_createdatabase-methods.md)
- [EF version must match NetFX version](ef-version-must-match-netfx-version.md)
- [Entity Framework version must match the .NET Framework version](ef-version-must-match-netfx-version.md)
- [EncoderParameter ctor is obsolete](encoderparameter-ctor-is-obsolete.md)
- [EntityFramework 6.0 loads very slowly in apps launched from Visual Studio](entityframework-6_0-loads-very-slowly-in-apps-launched-from-visual-studio.md)
- [Enumerable.Empty<TResult> always returns cached instance](enumerable_empty-always-returns-cached-instance.md)
@ -168,7 +168,7 @@ Please help us improve the [.NET Framework Application Compatibility documents](
- [Sharing session state with Asp.Net StateServer requires all servers in the web farm to use the same .NET Framework version](sharing-session-state-with-asp_net-stateserver-requires-all-servers-in-the-web-farm-to-use-the-same-_net-framework-version.md)
- [SoapFormatter cannot deserialize Hashtable and similar ordered collection objects](soapformatter-cannot-deserialize-hashtable-and-similar-ordered-collection-objects.md)
- [Some .NET APIs cause first chance (handled) EntryPointNotFoundExceptions](some-_net-apis-cause-first-chance-(handled)-entrypointnotfoundexceptions.md)
- [Some WorkFlow drag and drop APIs are obsolete](some-workflow-drag-and-drop-apis-are-obsolete.md)
- [Some WorkFlow drag-and-drop APIs are obsolete](some-workflow-drag-and-drop-apis-are-obsolete.md)
- [Sql_variant data uses sql_variant collation rather than database collation](sql_variant-data-uses-sql_variant-collation-rather-than-database-collation.md)
- [SqlBulkCopy uses destination column encoding for strings](sqlbulkcopy-uses-destination-column-encoding-for-strings.md)
- [SqlConnection can no longer connect to SQL Server 1997 or databases using the VIA adapter](sqlconnection-can-no-longer-connect-to-sql-server-1997-or-databases-using-the-via-adapter.md)
@ -199,7 +199,7 @@ Please help us improve the [.NET Framework Application Compatibility documents](
- [XML schema validation is stricter](xml-schema-validation-is-stricter.md)
- [XmlSchemaException now sets line positions properly](xmlschemaexception-now-sets-line-positions-properly.md)
- [XmlSerializer fails while serializing a type that hides an accessible member with an inaccessible one](xmlserializer-fails-while-serializing-a-type-that-hides-an-accessible-member-with-an-inaccessible-one.md)
- [XmlSerializer serializes fields differently in 4.5](xmlserializer-serializes-fields-differently-in-4_5.md)
- [XmlSerializer serializes fields differently in .NET Framework 4.5](xmlserializer-serializes-fields-differently-in-4_5.md)
- [XmlTextReader DTD entity expansion is limited to 10,000,000 characters](xmltextreader-dtd-entity-expansion-is-limited-to-10000000-characters.md)
- [XSLT forward compat now works](xslt-forward-compat-now-works.md)
- [XSLT style sheet exception message changed](xslt-style-sheet-exception-message-changed.md)

View File

@ -23,7 +23,7 @@ after a call to <xref:System.Security.Cryptography.CryptoAPITransform.TransformF
throws a <xref:System.Security.Cryptography.CryptographicException> or
produces corrupted data.
- [X] Quirked AppContext or config files. Needs to be turned on automatically for some situations.
- [X] Quirked
- [ ] Build-time break
### Recommended Action

View File

@ -13,11 +13,11 @@ Major
Available
### Change Description
MSBuild 12.0 tools (included in Visual Studio 2013) changed msbuild file
MSBuild 12.0 tools (included in Visual Studio 2013) changed MSBuild file
locations, causing older Entity Framework targets files to be invalid. The
result is that `EntityDeploySplit` and `EntityClean` tasks fail because they are
unable to find `Microsoft.Data.Entity.Build.Tasks.dll`. Note that this break is
because of a toolset (msbuild/VS) change, not because of a .NET Framework
because of a toolset (MSBuild/VS) change, not because of a .NET Framework
change. It will only occur when upgrading developer tools, not when merely
upgrading the .NET Framework.
@ -25,7 +25,7 @@ upgrading the .NET Framework.
- [x] Build-time break
### Recommended Action
Entity Framework targets files are fixed to work with the new msbuild layout beginning in the .NET Framework 4.6. Upgrading to that version of the Framework will fix this issue. Alternatively, [this](http://stackoverflow.com/a/24249247/131944) workaround can be used to patch the targets files directly.
Entity Framework targets files are fixed to work with the new MSBuild layout beginning in the .NET Framework 4.6. Upgrading to that version of the Framework will fix this issue. Alternatively, [this](http://stackoverflow.com/a/24249247/131944) workaround can be used to patch the targets files directly.
### Affected APIs
* Not detectable via API analysis

View File

@ -24,7 +24,7 @@ explicit interface implementations,
When re-building an ADO.NET database provider, these differences will require
the 'override' keyword to be applied to the Precision and Scale properties. This
is only needed when re-building the components; exisiting binaries will continue
is only needed when re-building the components; existing binaries will continue
to work.
### Affected APIs

View File

@ -1,4 +1,4 @@
## EF version must match NetFX version
## Entity Framework version must match the .NET Framework version
### Scope
Major
@ -22,7 +22,7 @@ which annotations to use.
- [x] Build-time break
### Recommended Action
Upgrade to EF 5 for .NET 4.5
Upgrade to Entity Framework 5 for .NET Framework 4.5
### Affected APIs
* Not detectable via API analysis

View File

@ -10,7 +10,7 @@ Major
Available
### Change Description
Beginning with C# 5 (Visual Studio 2012), foreach iterator variables are scoped within the iteration. This can cause breaks if code was previously depending on the variables to not be included in the foreach's closure. The symptom of this change will be that an iterator variable passed to a delagate will be treated as the value it had at the time the delegate was created, rather than the value it had at the time the delegate was invoked.
Beginning with C# 5 (Visual Studio 2012), `foreach` iterator variables are scoped within the iteration. This can cause breaks if code was previously depending on the variables to not be included in the `foreach`'s closure. The symptom of this change is that an iterator variable passed to a delegate is treated as the value it has at the time the delegate is created, rather than the value it has at the time the delegate is invoked.
- [ ] Quirked
- [x] Build-time break
@ -23,7 +23,6 @@ Ideally, code should be updated to expect the new compiler behavior. If the old
### Categories
Core
C#
[More information](http://blogs.msdn.com/b/ericlippert/archive/2009/11/12/closing-over-the-loop-variable-considered-harmful.aspx)

View File

@ -25,7 +25,7 @@ with a `<BR />` element will correctly insert only one `<BR />` (instead of two)
If an app depended on the extra `<BR />` tag,
<xref:System.Web.UI.HtmlTextWriter.RenderBeginTag(System.String)>
should be called a second time. Note that this behavior change only affects apps
that are targeting the .NET Framework 4.6, so another option is to target a
that target the .NET Framework 4.6 or later, so another option is to target a
previous version of the .NET Framework in order to get the old behavior.
### Affected APIs

View File

@ -23,7 +23,7 @@ The recommended alternatives are
<xref:System.Web.Security.MachineKey.Protect(System.Byte[],System.String[])>
and
<xref:System.Web.Security.MachineKey.Unprotect(System.Byte[],System.String[])>.
Alternatively, the build warnings can be suppressed or they can be avoided by
Alternatively, the build warnings can be suppressed, or they can be avoided by
using an older compiler. The APIs are still supported.
### Affected APIs

View File

@ -19,7 +19,7 @@ parameter. If a call to a Dispatcher.Invoke overload with a @System.Delegate
parameter is resolved as a call to a Dispatcher.Invoke overload with an
@System.Action parameter, the following differences in behavior may occur:
- If an exception occurs, the <xref:System.Windows.Threading.<xref:System.Windows.Threading.Dispatcher.UnhandledException>Filter> and <xref:System.Windows.Threading.Dispatcher.UnhandledException> events are not raised. Instead, exceptions are handled by the <xref:System.Threading.Tasks.TaskScheduler.UnobservedTaskException?displayProperty=name> event.
- If an exception occurs, the <xref:System.Windows.Threading.Dispatcher.UnhandledExceptionFilter> and <xref:System.Windows.Threading.Dispatcher.UnhandledException> events are not raised. Instead, exceptions are handled by the <xref:System.Threading.Tasks.TaskScheduler.UnobservedTaskException?displayProperty=name> event.
- Calls to some members, such as <xref:System.Windows.Threading.DispatcherOperation.Result>, block until the operation has completed.
- [ ] Quirked

View File

@ -13,7 +13,7 @@ Available
Two new members (<xref:System.Windows.Controls.PageRangeSelection.CurrentPage?displayProperty=name>
and
<xref:System.Windows.Controls.PageRangeSelection.SelectedPage?displayProperty=name>)
<xref:System.Windows.Controls.PageRangeSelection.SelectedPages?displayProperty=name>)
have been added to the
<xref:System.Windows.Controls.PageRangeSelection?displayProperty=name> enum.

View File

@ -14,7 +14,7 @@ Available
When you create a Windows Metadata library (.winmd file), the
<xref:System.ObsoleteAttribute?displayProperty=name> attribute is exported as
both <xref:System.ObsoleteAttribute?displayProperty=name> and
Windows.Foundation.DeprecatedAttribute.
[Windows.Foundation.DeprecatedAttribute](https://docs.microsoft.com/en-us/uwp/api/windows.foundation.metadata.deprecatedattribute).
- [ ] Quirked
- [x] Build-time break
@ -27,7 +27,7 @@ warnings when consuming that code from C++/CX or JavaScript.
We do not recommend applying both
<xref:System.ObsoleteAttribute?displayProperty=name> and
Windows.Foundation.DeprecatedAttribute to code in managed assemblies; it may
[Windows.Foundation.DeprecatedAttribute](https://docs.microsoft.com/en-us/uwp/api/windows.foundation.metadata.deprecatedattribute) to code in managed assemblies; it may
result in build warnings.
### Affected APIs

View File

@ -25,7 +25,7 @@ should be able to negotiate a connection using at least TLS1.0.
If Ssl3 is required, use one of the following configuration mechanisms to add
Ssl3 to the list of negotiated protocols.
* <xref:System.ServiceModel.Channels.SslStreamSecurityBindingElement.SslProtocolso>
* <xref:System.ServiceModel.Channels.SslStreamSecurityBindingElement.SslProtocols>
* <xref:System.ServiceModel.TcpTransportSecurity.SslProtocols>
* [\<transport\> section of \<netTcpBinding\>](https://docs.microsoft.com/en-us/dotnet/articles/framework/configure-apps/file-schema/wcf/transport-of-nettcpbinding)
* [\<sslStreamSecurity\> section of \<customBinding\>](https://docs.microsoft.com/en-us/dotnet/articles/framework/configure-apps/file-schema/wcf/sslstreamsecurity)

View File

@ -10,7 +10,7 @@ Minor
Planned
### Change Description
The task emits a warning, MSB3270, which indicates that a reference or any of its dependencies does not match the app's architecture. For example, this occurs if an app that was compiled with the anycpu option includes an x86 reference. Such a scenario could result in an app failure at run time (in this case, if the app is deployed as an x64 process).
The task emits a warning, MSB3270, which indicates that a reference or any of its dependencies does not match the app's architecture. For example, this occurs if an app that was compiled with the `AnyCPU` option includes an x86 reference. Such a scenario could result in an app failure at run time (in this case, if the app is deployed as an x64 process).
- [ ] Quirked
- [x] Build-time break

View File

@ -1,4 +1,4 @@
## Some WorkFlow drag and drop APIs are obsolete
## Some WorkFlow drag-and-drop APIs are obsolete
### Scope
Minor
@ -10,7 +10,7 @@ Minor
Available
### Change Description
This WorkFlow Drag/Drop API is obsolete and will cause compiler warnings if the app is rebuilt against 4.5.
This WorkFlow drag-and-drop API is obsolete and will cause compiler warnings if the app is rebuilt against 4.5.
- [ ] Quirked
- [x] Build-time break

View File

@ -78,7 +78,8 @@ for .NET 4.6 and above applications running on .NET 4.7 or higher framework.
* `N:System.Net.Http`
### Category
Networking, Security
Networking
Security
<!--
Bug 274590:SslStream TLS Alerts implementation

View File

@ -15,13 +15,13 @@ URI parsing has changed in several ways in .NET 4.5. Note, however, that these
changes only affect code targeting .NET 4.5. If a binary targets .NET 4.0, the
old behavior will be observed. Changes to URI parsing in .NET 4.5 include:
- URI parsing will perform normalization and character checking according to the latest IRI rules in RFC 3987
- Unicode normalization form C will only be performed on the host portion of the URI
- Invalid mailto: URIs will now cause an exception
- Trailing dots at the end of a path segment are now preserved
- `file://` URIs do not escape the `?` character
- Unicode control characters `U+0080` through `U+009F` are not supported
- Comma characters `,` or `%2c` are not automatically unescaped
- URI parsing will perform normalization and character checking according to the latest IRI rules in RFC 3987.
- Unicode normalization form C will only be performed on the host portion of the URI.
- Invalid mailto: URIs will now cause an exception.
- Trailing dots at the end of a path segment are now preserved.
- `file://` URIs do not escape the `?` character.
- Unicode control characters `U+0080` through `U+009F` are not supported.
- Comma characters `,` or `%2c` are not automatically unescaped.
- [x] Quirked
- [ ] Build-time break

View File

@ -10,7 +10,7 @@ Edge
NotPlanned
### Change Description
In the .NET Framework 4.6.2 and earlier, Asp.net executes requests with the same Sessionid sequentially, and asp.net always issues the Sessionid through cookie by default. If a page takes long time to response, it will significantly degrade the server performance just by pressing F5 on the browser. In the fix, we added a counter to track the queued requests and terminates the requests when they exceed a specified limit. The default value is 50. If the the limit is reached, a warning will be logged in event log and HTTP 500 response may be recorded in IIS log.
In the .NET Framework 4.6.2 and earlier, ASP.NET executes requests with the same Sessionid sequentially, and ASP.NET always issues the Sessionid through cookie by default. If a page takes a long time to respond, it will significantly degrade server performance just by pressing F5 on the browser. In the fix, we added a counter to track the queued requests and terminate the requests when they exceed a specified limit. The default value is 50. If the the limit is reached, a warning will be logged in the event log, and an HTTP 500 response may be recorded in the IIS log.
- [x] Quirked
- [ ] Build-time break

View File

@ -16,7 +16,7 @@ Windows Workflow Foundation (WWF) 3.0 APIs (those from the System.Workflow names
- [x] Build-time break
### Recommended Action
New WWF 4.0 APIs (in System.Activities) should be used instead. An example of using the new APIs can be found [here](https://docs.microsoft.com/en-us/dotnet/articles/framework/windows-workflow-foundation/how-to-update-the-definition-of-a-running-workflow-instance) and further guidance is available [here](http://blogs.msdn.com/b/workflowteam/archive/2012/02/08/deprecatingwf3.aspx). Alternatively, since the WWF 3.0 APIs are still supported, they may be used and the build-time warning avoided either by suppressing it or by using an older compiler.
New WWF 4.0 APIs (in System.Activities) should be used instead. An example of using the new APIs can be found [here](../../../../framework/windows-workflow-foundation/how-to-update-the-definition-of-a-running-workflow-instance.md) and further guidance is available [here](http://blogs.msdn.com/b/workflowteam/archive/2012/02/08/deprecatingwf3.aspx). Alternatively, since the WWF 3.0 APIs are still supported, they may be used and the build-time warning avoided either by suppressing it or by using an older compiler.
### Affected APIs
* Not detectable via API analysis

View File

@ -15,7 +15,7 @@ An error in the exception handling code for
<xref:System.Windows.Media.ImageSourceConverter.ConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object)>
caused an incorrect <xref:System.NullReferenceException?displayProperty=name> to
be thrown instead of the intended exception (e.g.
<xref:System.DirectoryNotFoundException?displayProperty=name>,
<xref:System.IO.DirectoryNotFoundException?displayProperty=name>,
<xref:System.IO.FileNotFoundException?displayProperty=name>), this change
corrects that error so that the method now throws the right exception.

View File

@ -1,4 +1,4 @@
## XmlSerializer serializes fields differently in 4.5
## XmlSerializer serializes fields differently in .NET Framework 4.5
### Scope
Major
@ -46,7 +46,6 @@ fix this issue. Alternatively, the following config setting will revert to 4.0
* `M:System.Xml.Serialization.XmlSerializer.Serialize(System.Xml.XmlWriter,System.Object,System.Xml.Serialization.XmlSerializerNamespaces,System.String,System.String)`
### Categories
Serialization
XML, XSLT
[More information](http://connect.microsoft.com/VisualStudio/feedback/details/761786/net-4-5-xmlserializer-produces-different-output-from-4-0)