Compatibility diagnostic wording fixes (#413)
* Update breaking changes based on PR feedback * Split breaking change 181 into multiple categories * Fix incorrect xrefspull/418/head
parent
fb811127e7
commit
a516c75d9a
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue