2017-04-18 07:52:04 +08:00
|
|
|
## AppDomainSetup.DynamicBase is no longer randomized by UseRandomizedStringHashAlgorithm
|
2017-04-06 04:52:19 +08:00
|
|
|
|
|
|
|
### Scope
|
|
|
|
Edge
|
|
|
|
|
|
|
|
### Version Introduced
|
|
|
|
4.6
|
|
|
|
|
|
|
|
### Source Analyzer Status
|
|
|
|
Planned
|
|
|
|
|
|
|
|
### Change Description
|
2017-04-21 02:19:05 +08:00
|
|
|
|
|
|
|
Prior to the .NET Framework 4.6, the value of
|
|
|
|
<xref:System.AppDomainSetup.DynamicBase> would be
|
|
|
|
randomized between application domains, or between processes, if
|
|
|
|
UseRandomizedStringHashAlgorithm was enabled in the app's config file. Beginning
|
|
|
|
in the .NET Framework 4.6,
|
|
|
|
<xref:System.AppDomainSetup.DynamicBase> will
|
|
|
|
return a stable result between different instances of an app running, and
|
|
|
|
between different app domains. Dynamic bases will still differ for different
|
|
|
|
apps; this change only removes the random naming element for different instances
|
|
|
|
of the same app.
|
2017-04-06 04:52:19 +08:00
|
|
|
|
|
|
|
- [ ] Quirked
|
|
|
|
- [ ] Build-time break
|
|
|
|
|
|
|
|
### Recommended Action
|
2017-04-21 02:19:05 +08:00
|
|
|
|
|
|
|
Be aware that enabling `UseRandomizedStringHashAlgorithm` will not result in
|
|
|
|
<xref:System.AppDomainSetup.DynamicBase> being
|
|
|
|
randomized. If a random base is needed, it must be produced in your app's code
|
|
|
|
rather than via this API.
|
2017-04-06 04:52:19 +08:00
|
|
|
|
|
|
|
### Affected APIs
|
|
|
|
* `P:System.AppDomainSetup.DynamicBase`
|
|
|
|
|
|
|
|
### Category
|
|
|
|
Core
|
|
|
|
|
|
|
|
<!--
|
|
|
|
### Notes
|
|
|
|
Should be easy to look for DynamicBase use while UseRandomizedStringHashAlgorithm is set
|
|
|
|
-->
|
|
|
|
|
2017-04-18 07:52:04 +08:00
|
|
|
<!-- breaking change id: 115 -->
|