diff --git a/xml/System/Activator.xml b/xml/System/Activator.xml index 5faa68bad01..98f8e9bf6bc 100644 --- a/xml/System/Activator.xml +++ b/xml/System/Activator.xml @@ -87,8 +87,6 @@ A binder parameter specifies an object that searches an assembly for a suitable constructor. You can specify your own binder and search criteria. If no binder is specified, a default binder is used. For more information, see the and classes. - An evidence parameter affects the security policy and permissions for the constructor. For more information, see the class. - An instance of a type can be created at a local or remote site. If the type is created remotely, an activation attribute parameter specifies the URI of the remote site. The call to create the instance might pass through intermediary sites before it reaches the remote site. Other activation attributes can modify the environment, or context, in which the call operates at the remote and intermediary sites. If the instance is created locally, a reference to that object is returned. If the instance is created remotely, a reference to a proxy is returned. The remote object is manipulated through the proxy as if it were a local object. @@ -166,9 +164,6 @@ For information about other exceptions that can be thrown by invoked methods, see the Exceptions section of the and methods. -> [!NOTE] -> This method can be used to create nonpublic types if the caller has been granted with the flag and if the grant set of the assembly that contains the nonpublic types is restricted to the caller's grant set or to a subset thereof. (See [Security Considerations for Reflection](/dotnet/framework/reflection-and-codedom/security-considerations-for-reflection).) To use this functionality, your application should target .NET Framework 3.5 or later. - ]]> @@ -243,9 +238,6 @@ For information about other exceptions that can be thrown by invoked methods, see the Exceptions section of the and methods. -> [!NOTE] -> This method can be used to create nonpublic types if the caller has been granted with the flag and if the grant set of the assembly that contains the nonpublic types is restricted to the caller's grant set or to a subset thereof. (See [Security Considerations for Reflection](/dotnet/framework/reflection-and-codedom/security-considerations-for-reflection).) To use this functionality, your application should target .NET Framework 3.5 or later. - ]]> @@ -405,9 +397,6 @@ ## Remarks The constructor to be invoked must be accessible. -> [!NOTE] -> This method can be used to access nonpublic types if the caller has been granted with the flag and if the grant set of the assembly that contains the nonpublic types is restricted to the caller's grant set or to a subset thereof. (See [Security Considerations for Reflection](/dotnet/framework/reflection-and-codedom/security-considerations-for-reflection).) To use this functionality, your application should target .NET Framework 3.5 or later. - ## Examples The following code example demonstrates how to call the method. Instances of several different types are created and their default values are displayed. @@ -579,9 +568,6 @@ Note: In .NET for Win In .NET Core 3.0 and later versions, assembly loads triggered by this API are affected by the current value of . -> [!NOTE] -> This method can be used to create nonpublic types if the caller has been granted with the flag and if the grant set of the assembly that contains the nonpublic types is restricted to the caller's grant set or to a subset thereof. (See [Security Considerations for Reflection](/dotnet/framework/reflection-and-codedom/security-considerations-for-reflection).) To use this functionality, your application should target .NET Framework 3.5 or later. - ## Examples @@ -691,16 +677,7 @@ Note: In .NET for Win if a public or nonpublic parameterless constructor can match; if only a public parameterless constructor can match. Creates an instance of the specified type using that type's parameterless constructor. A reference to the newly created object, or for instances. - - [!NOTE] -> This method can be used to access nonpublic types and members if the caller has been granted with the flag and if the grant set of the assembly that contains the nonpublic types and members is restricted to the caller's grant set or to a subset thereof. (See [Security Considerations for Reflection](/dotnet/framework/reflection-and-codedom/security-considerations-for-reflection).) To use this functionality, your application should target .NET Framework 3.5 or later. - - ]]> - + To be added. is . @@ -813,9 +790,6 @@ Note: In .NET for Win ## Remarks The constructor to be invoked must be accessible and must provide the most specific match with the specified argument list. -> [!NOTE] -> This method can be used to access nonpublic types if the caller has been granted with the flag and if the grant set of the assembly that contains the nonpublic types is restricted to the caller's grant set or to a subset thereof. (See [Security Considerations for Reflection](/dotnet/framework/reflection-and-codedom/security-considerations-for-reflection).) To use this functionality, your application should target .NET Framework 3.5 or later. - ## Examples @@ -1028,9 +1002,6 @@ Note: In .NET for Win In .NET Core 3.0 and later versions, assembly loads triggered by this API are affected by the current value of . -> [!NOTE] -> This method can be used to create nonpublic types if the caller has been granted with the flag and if the grant set of the nonpublic types is restricted to the caller's grant set or to a subset thereof. (See [Security Considerations for Reflection](/dotnet/framework/reflection-and-codedom/security-considerations-for-reflection).) To use this functionality, your application should target .NET Framework 3.5 or later. - ]]> @@ -1145,9 +1116,6 @@ An error occurred when attempting remote activation in a target specified in [!NOTE] -> This method can be used to access nonpublic types if the caller has been granted with the flag and if the grant set of the assembly that contains the nonpublic types is restricted to the caller's grant set or to a subset thereof. (See [Security Considerations for Reflection](/dotnet/framework/reflection-and-codedom/security-considerations-for-reflection).) To use this functionality, your application should target .NET Framework 3.5 or later. - ]]> @@ -1262,9 +1230,6 @@ An error occurred when attempting remote activation in a target specified in [!NOTE] -> This method can be used to access nonpublic types and members if the caller has been granted with the flag and if the grant set of the assembly that contains the nonpublic types and members is restricted to the caller's grant set or to a subset thereof. (See [Security Considerations for Reflection](/dotnet/framework/reflection-and-codedom/security-considerations-for-reflection).) To use this functionality, your application should target .NET Framework 3.5 or later. - ]]> @@ -1379,9 +1344,6 @@ An error occurred when attempting remote activation in a target specified in [!NOTE] -> This method can be used to access nonpublic types and members if the caller has been granted with the flag and if the grant set of the nonpublic types and members is restricted to the caller's grant set or to a subset thereof. (See [Security Considerations for Reflection](/dotnet/framework/reflection-and-codedom/security-considerations-for-reflection).) To use this functionality, your application should target .NET Framework 3.5 or later. - ]]> @@ -1509,9 +1471,6 @@ An error occurred when attempting remote activation in a target specified in . -> [!NOTE] -> This method can be used to create nonpublic types and members if the caller has been granted with the flag and if the grant set of the assembly that contains the nonpublic types and members is restricted to the caller's grant set or to a subset thereof. (See [Security Considerations for Reflection](/dotnet/framework/reflection-and-codedom/security-considerations-for-reflection).) To use this functionality, your application should target .NET Framework 3.5 or later. - ]]> @@ -1708,9 +1667,6 @@ An error occurred when attempting remote activation in a target specified in to unwrap the return value. -> [!NOTE] -> This method can be used to create nonpublic types and members if the caller has been granted with the flag and if the grant set of the assembly that contains the nonpublic types and members is restricted to the caller's grant set or to a subset thereof. (See [Security Considerations for Reflection](/dotnet/framework/reflection-and-codedom/security-considerations-for-reflection).) To use this functionality, your application should target .NET Framework 3.5 or later. - ]]> diff --git a/xml/System/AppContext.xml b/xml/System/AppContext.xml index 9087417bfe1..c6d33ae6838 100644 --- a/xml/System/AppContext.xml +++ b/xml/System/AppContext.xml @@ -66,8 +66,6 @@ Provides members for setting and retrieving data about an application's context. For more information about this API, see Supplemental API remarks for AppContext. - <runtime> Element - <AppContextSwitchOverrides> Element @@ -295,8 +293,6 @@ In .NET 5 and later versions, for bundled assemblies, the value returned is the > - *Switch*.*namespace*.*switchname* > - *Switch*.*library*.*switchname* - For applications running on .NET Framework, in addition to setting the value of a switch programmatically, it can also be set: - - By adding the switch name and value to the [\](/dotnet/framework/configure-apps/file-schema/runtime/appcontextswitchoverrides-element) element in the [\](/dotnet/framework/configure-apps/file-schema/runtime/runtime-element) section of an application configuration file. For example, the following defines a switch named `Libraries.FPLibrary.UseExactFloatingPointComparison` whose value is `False`. ```xml diff --git a/xml/System/AppDomain.xml b/xml/System/AppDomain.xml index 18f752dceb9..1fc420025c9 100644 --- a/xml/System/AppDomain.xml +++ b/xml/System/AppDomain.xml @@ -112,8 +112,6 @@ Application domains, which are represented by objects, h This class implements the , , and interfaces. - You should never create a remotable wrapper for an object. Doing so could publish a remote reference to that , exposing methods such as to remote access and effectively destroying code access security for that . Malicious clients connecting to the remoted could obtain access to any resource the itself has access to. Do not create remotable wrappers for any type that extends and that implements methods that could be used by malicious clients to bypass the security system. - > [!CAUTION] > The default value for the property is `false`. This setting is unsafe for services. To prevent services from downloading partially trusted code, set this property to `true`. @@ -127,10 +125,6 @@ Application domains, which are represented by objects, h ]]> - How To: Configure an Application Domain - How To: Create an Application Domain - How to: Load Assemblies into an Application Domain - How to: Unload an Application Domain @@ -543,11 +537,6 @@ Application domains, which are represented by objects, h For guidance on the use of this event, see [Resolving Assembly Loads](/dotnet/standard/assembly/resolve-loads). - Beginning with the .NET Framework 4, the property returns the assembly that requested the assembly load that could not be resolved. For example, the loader might be unable to load a dependency of the requesting assembly because the requesting assembly and its dependency are not in the probing path. Knowing the identity of the requesting assembly might be useful in locating the dependency or in identifying the correct version, if more than one version of the dependency is available. For more information, see . - -> [!IMPORTANT] -> Beginning with the .NET Framework 4, the event is raised for all assemblies, including resource assemblies. In earlier versions, the event was not raised for resource assemblies. If the operating system is localized, the handler might be called multiple times: once for each culture in the fallback chain. - For this event, the property returns the assembly name before policy is applied. > [!IMPORTANT] @@ -796,7 +785,6 @@ Application domains, which are represented by objects, h The operation is attempted on an unloaded application domain. - Shadow Copying Assemblies @@ -1115,9 +1103,6 @@ This method overload uses the information from the If `securityInfo` is not supplied, the evidence from the current application domain is used. -> [!IMPORTANT] -> Do not use this method overload to create sandboxed application domains. Beginning with the .NET Framework 4, the evidence that is supplied for `securityInfo` no longer affects the grant set of the application domain. Use the method overload to create sandboxed application domains. - ## Examples @@ -1185,9 +1170,6 @@ This method overload uses the information from the If `securityInfo` is not supplied, the evidence from the current application domain is used. -> [!IMPORTANT] -> Do not use this method overload to create sandboxed application domains. Beginning with the .NET Framework 4, the evidence that is supplied for `securityInfo` no longer affects the grant set of the application domain. Use the method overload to create sandboxed application domains. - ## Examples @@ -1333,9 +1315,6 @@ This method overload uses the information from the For more information about shadow copying, see and [Shadow Copying Assemblies](/dotnet/framework/app-domains/shadow-copy-assemblies). -> [!IMPORTANT] -> Do not use this method overload to create sandboxed application domains. Beginning with the .NET Framework 4, the evidence that is supplied for `securityInfo` no longer affects the grant set of the application domain. Use the method overload to create sandboxed application domains. - ## Examples @@ -1413,9 +1392,6 @@ This method overload uses the information from the For more information about shadow copying, see and [Shadow Copying Assemblies](/dotnet/framework/app-domains/shadow-copy-assemblies). -> [!IMPORTANT] -> Do not use this method overload to create sandboxed application domains. Beginning with the .NET Framework 4, the evidence that is supplied for `securityInfo` no longer affects the grant set of the application domain. Use the method overload to create sandboxed application domains. - ]]> @@ -3288,9 +3264,6 @@ This method overload uses the information from the ## Remarks This method should only be used to define a dynamic assembly in the current application domain. For more information, see the method overload. -> [!NOTE] -> During the development of code that emits dynamic assemblies, it is recommended that you use an overload of the method that specifies evidence and permissions, supply the evidence you want the dynamic assembly to have, and include in `refusedPermissions`. Including in the `refusedPermissions` parameter ensures that the MSIL is verified. A limitation of this technique is that it also causes to be thrown when used with code that demands full trust. - ## Examples @@ -3365,8 +3338,6 @@ This method overload uses the information from the This method should be used only to define a dynamic assembly in the current application domain. For more information about this restriction, see the method overload. - This method overload is introduced in the .NET Framework 3.5. - ## Examples @@ -3509,9 +3480,6 @@ This method overload uses the information from the ## Remarks This method should only be used to define a dynamic assembly in the current application domain. For more information, see the method overload. -> [!NOTE] -> During the development of code that emits dynamic assemblies, it is recommended that you use an overload of the method that specifies evidence and permissions, supply the evidence you want the dynamic assembly to have, and include in `refusedPermissions`. Including in the `refusedPermissions` parameter ensures that the MSIL is verified. A limitation of this technique is that it also causes to be thrown when used with code that demands full trust. - ## Examples @@ -4137,17 +4105,10 @@ This method overload uses the information from the The permission requests specified for the `requiredPermissions`, `optionalPermissions`, and `refusedPermissions` parameters are used only if the `evidence` parameter is also supplied, or if the dynamic assembly is saved and reloaded into memory. -> [!NOTE] -> When you develop code that emits dynamic assemblies, we recommend that you include the flag in the `refusedPermissions` parameter. The inclusion of this flag ensures that the Microsoft intermediate language (MSIL) will be verified. This technique will detect the unintentional generation of unverifiable code, which otherwise is very difficult to detect. A limitation of this technique is that it also causes to be thrown when it is used with code that demands full trust. - - Only fully trusted callers can supply evidence when defining a dynamic . The runtime maps the through the security policy to determine the granted permissions. Partially trusted callers must supply `null` for the `evidence` parameter. If `evidence` is `null`, the runtime copies the permission sets (that is, the current grant and deny sets) from the caller's assembly to the dynamic assembly that is being defined, and marks the policy as resolved. - If the dynamic assembly is saved to disk, subsequent loads will get grants based on policies that are associated with the location where the dynamic assembly was saved. If `isSynchronized` is `true`, the following methods of the resulting will be synchronized: , , , , , and . If two of these methods are called on different threads, one will block until the other is completed. - This method overload is introduced in the .NET Framework 3.5. - ]]> @@ -5194,9 +5155,6 @@ This method overload uses the information from the The method does not create a new process or application domain, and it does not execute the entry point method on a new thread. -> [!NOTE] -> When you use the method with an parameter, pieces of evidence are merged. Pieces of evidence supplied as an argument to the method supersede pieces of evidence supplied by the loader. - ]]> @@ -5357,9 +5315,6 @@ This method overload uses the information from the This method does not create a new process or application domain, and it does not execute the entry point method on a new thread. -> [!NOTE] -> When you use the method with an parameter, pieces of evidence are merged. Pieces of evidence supplied as an argument to the method supersede pieces of evidence supplied by the loader. - ]]> The assembly specified by is not found. @@ -5435,9 +5390,6 @@ This method overload uses the information from the This method does not create a new process or application domain, and it does not execute the entry point method on a new thread. -> [!NOTE] -> When you use the method with an parameter, pieces of evidence are merged. Pieces of evidence supplied as an argument to the method supersede pieces of evidence supplied by the loader. - ]]> @@ -5545,7 +5497,6 @@ This method overload uses the information from the - How to: Receive First-Chance Exception Notifications @@ -6076,8 +6027,6 @@ The friendly name of the default application domain is the file name of the proc ## Remarks This method tests whether the specified compatibility switch has been set for the current application domain. Compatibility switches typically restore a behavior (such as the way strings are sorted) that was changed between versions of the .NET Framework. They are set by calling the method before creating an application domain. - The following table provides examples of compatibility switches that can be set to restore the behavior of earlier versions of the .NET Framework. - |Switch|Meaning| |------------|-------------| |"NetFx40_LegacySecurityPolicy"|Code access security (CAS) for the .NET Framework 3.5 is enabled in this application domain. See [<NetFx40_LegacySecurityPolicy> Element](/dotnet/framework/configure-apps/file-schema/runtime/netfx40-legacysecuritypolicy-element).| @@ -6281,13 +6230,9 @@ The friendly name of the default application domain is the file name of the proc method overload, unless the permissions that are granted to the application domain are equivalent to full trust. - ## Examples - The following example demonstrates the property and the property with fully trusted and partially trusted application domains. The fully trusted application domain is the default application domain for the application. The partially trusted application domain is created by using the method overload. - The example uses a `Worker` class that derives from , so it can be marshaled across application domain boundaries. The example creates a `Worker` object in the default application domain. It then calls the `TestIsFullyTrusted` method to display the property value for the application domain and for two assemblies that are loaded into the application domain: mscorlib, which is part of the .NET Framework, and the example assembly. The application domain is fully trusted, so both assemblies are fully trusted. The example creates another `Worker` object in a sandboxed application domain and again calls the `TestIsFullyTrusted` method. Mscorlib is always trusted, even in a partially trusted application domain, but the example assembly is partially trusted. @@ -6345,8 +6290,6 @@ The friendly name of the default application domain is the file name of the proc method overload. Sandboxed application domains have a homogenous set of permissions; that is, the same set of permissions is granted to all partially trusted assemblies that are loaded into the application domain. A sandboxed application domain optionally has a list of strong-named assemblies that are exempt from this permission set, and instead run with full trust. - Fully trusted code can use the property to determine the homogenous grant set of a sandboxed application domain. This property also returns `true` for the default application domain of a desktop application, because that application domain grants full trust to all assemblies. @@ -6434,8 +6377,6 @@ The friendly name of the default application domain is the file name of the proc ## Remarks For information that is common to all overloads of this method, see the method overload. - Beginning with the .NET Framework 4, the trust level of an assembly that is loaded by using this method is the same as the trust level of the application domain. - ## Examples The following sample demonstrates the use of loading a raw assembly. @@ -6705,8 +6646,6 @@ The friendly name of the default application domain is the file name of the proc ## Remarks For information that is common to all overloads of this method, see the method overload. - Beginning with the .NET Framework 4, the trust level of an assembly that is loaded by using this method is the same as the trust level of the application domain. - ## Examples The following sample demonstrates the use of loading a raw assembly. @@ -6918,8 +6857,6 @@ The friendly name of the default application domain is the file name of the proc ## Remarks For information that is common to all overloads of this method, see the method overload. - Beginning with the .NET Framework 4, the trust level of an assembly that is loaded by using this method is the same as the trust level of the application domain. - ]]> @@ -6998,7 +6935,6 @@ The friendly name of the default application domain is the file name of the proc The current process attempted to assign the value to this property. Application Domain Resource Monitoring - <appdomainResourceMonitoring> Element @@ -7284,8 +7220,6 @@ The friendly name of the default application domain is the file name of the proc [!INCLUDE[cas-deprecated](~/includes/cas-deprecated.md)] - Sandboxed application domains that were created by using the method overload have a homogenous set of permissions; that is, the same set of permissions is granted to all partially trusted assemblies that are loaded into the application domain. A sandboxed application domain optionally has a list of strong-named assemblies that are exempt from this permission set, and instead run with full trust. - ]]> @@ -7357,13 +7291,9 @@ The friendly name of the default application domain is the file name of the proc ## Remarks The for this event can perform termination activities, such as closing files, releasing storage and so on, before the process ends. - Beginning with the .NET Framework version 2.0, this event is raised in each application domain that registers an event handler. - > [!NOTE] > In .NET Framework, the total execution time of all event handlers is limited, just as the total execution time of all finalizers is limited at process shutdown. The default is two seconds. An unmanaged host can change this execution time by calling the [ICLRPolicyManager::SetTimeout](/dotnet/framework/unmanaged-api/hosting/iclrpolicymanager-settimeout-method) method with the [OPR_ProcessExit](/dotnet/framework/unmanaged-api/hosting/eclroperation-enumeration) enumeration value. This time limit does not exist in .NET Core and .NET 5+. - In the .NET Framework versions 1.0 and 1.1, this event is raised only in the default application domain, and only if an event handler is registered in the default application domain. - To register an event handler for this event, you must have the required permissions, or a is thrown. For more information about handling events, see [Handling and Raising Events](/dotnet/standard/events/). @@ -7437,8 +7367,6 @@ The friendly name of the default application domain is the file name of the proc > [!IMPORTANT] > This event is raised only for missing dependencies of the assembly that you are loading into the reflection-only context (for example, by using the method). It is not raised if the assembly that you are loading cannot be found. - Beginning with the .NET Framework 4, the property returns the assembly that requested the assembly load that could not be resolved. Knowing the identity of the requesting assembly might be useful in identifying the correct version of the dependency, if more than one version is available. For more information, see . - For this event, the property returns the assembly name before policy is applied. For more information about handling events, see [Handling and Raising Events](/dotnet/standard/events/). @@ -7651,8 +7579,6 @@ The friendly name of the default application domain is the file name of the proc > [!IMPORTANT] > This event is not raised if resolution fails because no file can be found for a valid linked resource. It is raised if a manifest resource stream cannot be found, but it is not raised if an individual resource key cannot be found. - Beginning with the .NET Framework 4, the property contains the assembly that requested the resource. For more information, see . - To register an event handler for this event, you must have the required permissions, or a is thrown. For more information about handling events, see [Handling and Raising Events](/dotnet/standard/events/). @@ -7803,7 +7729,6 @@ The friendly name of the default application domain is the file name of the proc The operation is attempted on an unloaded application domain. - Shadow Copying Assemblies @@ -8191,7 +8116,6 @@ The friendly name of the default application domain is the file name of the proc ]]> The operation is attempted on an unloaded application domain. - Shadow Copying Assemblies @@ -8279,7 +8203,6 @@ The friendly name of the default application domain is the file name of the proc ]]> The operation is attempted on an unloaded application domain. - Shadow Copying Assemblies @@ -8457,7 +8380,6 @@ The friendly name of the default application domain is the file name of the proc The operation is attempted on an unloaded application domain. - Shadow Copying Assemblies @@ -8808,8 +8730,6 @@ The friendly name of the default application domain is the file name of the proc However, the event does not occur if the runtime knows it is not possible to find a type in certain assemblies. For example, this event does not occur if the type is not found in a static assembly because the runtime knows types cannot be added dynamically to static assemblies. - Beginning with the .NET Framework 4, the property contains the assembly that requested the type. For more information, see . - To register an event handler for this event, you must have the required permissions, or a is thrown. For more information about handling events, see [Handling and Raising Events](/dotnet/standard/events/). diff --git a/xml/System/AppDomainSetup.xml b/xml/System/AppDomainSetup.xml index 9c19825a3b9..3e59c5e828e 100644 --- a/xml/System/AppDomainSetup.xml +++ b/xml/System/AppDomainSetup.xml @@ -82,7 +82,6 @@ ]]> - How To: Configure an Application Domain @@ -658,7 +657,6 @@ - Shadow Copying Assemblies @@ -706,7 +704,6 @@ ]]> - Runtime Settings Schema @@ -1093,8 +1090,6 @@ (APTCA) attribute can be made conditional by setting its property to . An APTCA assembly that is marked with cannot be used by partially trusted code unless the host application allows it. - The host of a sandboxed application domain allows code in the application domain to use assemblies with conditional APTCA attributes by creating an array that contains the simple name and public key of each assembly, and assigning the array to this property. For example, an element of the array might look like the following: "MyAssembly, PublicKey=0024000004800000940000000602000000240000525341310004000001000100db2ad5e5fedc67ea526ff72ad426ef68e08e241d296c499eedfec6648dcc62b1a12f72be5833a45bbec481b68415b08a5fbc9f9ef247b523dd72bbea65bb532784ddc5c704544bd2f1c2d46fdbe41e4f949e76f9947357b2d5cf8ca9f970701bbd6e8ab64ad31b20ad0be9b56dae4f6b83332b92a2a3b8ea2804c40efbc0b6b9". > [!IMPORTANT] @@ -1226,8 +1221,6 @@ ## Remarks Disabling interface caching has a significant impact on the performance of interop calls. - This member is introduced in the .NET Framework 3.5. - ]]> @@ -1269,8 +1262,6 @@ The set of string values you provide for `switches` can be a simple string array, because arrays implement the interface. - The following table provides examples of compatibility switches that can be set to restore the behavior of earlier versions of the .NET Framework. - |Switch|Meaning| |------------|-------------| |"NetFx40_LegacySecurityPolicy"|Code access security (CAS) for the .NET Framework 3.5 is enabled in this application domain. See [<NetFx40_LegacySecurityPolicy> Element](/dotnet/framework/configure-apps/file-schema/runtime/netfx40-legacysecuritypolicy-element).| @@ -1282,10 +1273,6 @@ ]]> - <NetFx40_LegacySecurityPolicy> Element - <CompatSortNLSVersion> Element - <TimeSpan_LegacyFormatMode> Element - <UseRandomizedStringHashAlgorithm> Element @@ -1329,7 +1316,6 @@ ]]> - Runtime Settings Schema @@ -1453,7 +1439,6 @@ - Shadow Copying Assemblies @@ -1495,7 +1480,6 @@ - Shadow Copying Assemblies diff --git a/xml/System/AppDomainUnloadedException.xml b/xml/System/AppDomainUnloadedException.xml index f1b6ccb3332..6cef4f50e79 100644 --- a/xml/System/AppDomainUnloadedException.xml +++ b/xml/System/AppDomainUnloadedException.xml @@ -74,8 +74,6 @@ that is not handled in user code has the following effect: - - If a thread was started in managed code, it is terminated. The unhandled exception is not allowed to terminate the application. - If a task is executing on a thread, it is terminated and the thread is returned to the thread pool. The unhandled exception is not allowed to terminate the application. diff --git a/xml/System/ApplicationId.xml b/xml/System/ApplicationId.xml index 660b967e9aa..0919ae15a80 100644 --- a/xml/System/ApplicationId.xml +++ b/xml/System/ApplicationId.xml @@ -73,8 +73,6 @@ is used by the class to identify a manifest-based application. diff --git a/xml/System/Array.xml b/xml/System/Array.xml index c5e99d6a8df..b5d0299ba15 100644 --- a/xml/System/Array.xml +++ b/xml/System/Array.xml @@ -110,8 +110,6 @@ The array size is limited to a total of 4 billion elements, and to a maximum index of 0X7FEFFFFF in any given dimension (0X7FFFFFC7 for byte arrays and arrays of single-byte structures). - **.NET Framework only:** By default, the maximum size of an is 2 gigabytes (GB). In a 64-bit environment, you can avoid the size restriction by setting the `enabled` attribute of the [gcAllowVeryLargeObjects](/dotnet/framework/configure-apps/file-schema/runtime/gcallowverylargeobjects-element) configuration element to `true` in the run-time environment. - Single-dimensional arrays implement the , , , and generic interfaces. The implementations are provided to arrays at run time, and as a result, the generic interfaces do not appear in the declaration syntax for the class. In addition, there are no reference topics for interface members that are accessible only by casting an array to the generic interface type (explicit interface implementations). The key thing to be aware of when you cast an array to one of these interfaces is that members which add, insert, or remove elements throw . objects provide information about array type declarations. objects with the same array type share the same object. diff --git a/xml/System/ArraySegment`1.xml b/xml/System/ArraySegment`1.xml index e49d57aa445..7848b422497 100644 --- a/xml/System/ArraySegment`1.xml +++ b/xml/System/ArraySegment`1.xml @@ -108,9 +108,6 @@ ## Remarks is a wrapper around an array that delimits a range of elements in that array. Multiple instances can refer to the same original array and can overlap. The original array must be one-dimensional and must have zero-based indexing. -> [!NOTE] -> implements the interface starting with the .NET Framework 4.6; in previous versions of the .NET Framework, the structure did not implement this interface. - The structure is useful whenever the elements of an array will be manipulated in distinct segments. For example: - You can pass an object that represents only a portion of an array as an argument to a method, rather than call a relatively expensive method like to pass a copy of a portion of an array. diff --git a/xml/System/Attribute.xml b/xml/System/Attribute.xml index c78da8b74a2..e70c8c2e8a3 100644 --- a/xml/System/Attribute.xml +++ b/xml/System/Attribute.xml @@ -319,9 +319,6 @@ When implementing your own class derived from , you can o ## Remarks Use the method if you expect more than one value to be returned, or will be thrown. -> [!NOTE] -> Starting with the .NET Framework version 2.0, this method returns security attributes if the attributes are stored in the new metadata format. Assemblies compiled with version 2.0 or later use the new format. Dynamic assemblies and assemblies compiled with earlier versions of the .NET Framework use the old XML format. See [Emitting Declarative Security Attributes](/previous-versions/dotnet/netframework-4.0/ms404249(v=vs.100)). - ## Examples @@ -398,9 +395,6 @@ When implementing your own class derived from , you can o ## Remarks A match is determined in the same way described in the Return Value section of . -> [!NOTE] -> Starting with the .NET Framework version 2.0, this method returns security attributes on types, methods, and constructors if the attributes are stored in the new metadata format. Assemblies compiled with version 2.0 or later use the new format. Dynamic assemblies and assemblies compiled with earlier versions of the .NET Framework use the old XML format. See [Emitting Declarative Security Attributes](/previous-versions/dotnet/netframework-4.0/ms404249(v=vs.100)). - ## Examples @@ -629,9 +623,6 @@ When implementing your own class derived from , you can o ## Remarks -> [!NOTE] -> Starting with the .NET Framework version 2.0, this method returns security attributes if the attributes are stored in the new metadata format. Assemblies compiled with version 2.0 or later use the new format. Dynamic assemblies and assemblies compiled with earlier versions of the .NET Framework use the old XML format. See [Emitting Declarative Security Attributes](/previous-versions/dotnet/netframework-4.0/ms404249(v=vs.100)). - ## Examples @@ -709,9 +700,6 @@ When implementing your own class derived from , you can o ## Remarks -> [!NOTE] -> Starting with the .NET Framework version 2.0, this method returns security attributes on types, methods, and constructors if the attributes are stored in the new metadata format. Assemblies compiled with version 2.0 or later use the new format. Dynamic assemblies and assemblies compiled with earlier versions of the .NET Framework use the old XML format. See [Emitting Declarative Security Attributes](/previous-versions/dotnet/netframework-4.0/ms404249(v=vs.100)). - ## Examples @@ -943,9 +931,6 @@ When implementing your own class derived from , you can o ## Remarks -> [!NOTE] -> Starting with the .NET Framework version 2.0, this method returns security attributes if the attributes are stored in the new metadata format. Assemblies compiled with version 2.0 or later use the new format. Dynamic assemblies and assemblies compiled with earlier versions of the .NET Framework use the old XML format. See [Emitting Declarative Security Attributes](/previous-versions/dotnet/netframework-4.0/ms404249(v=vs.100)). - ## Examples @@ -1010,9 +995,6 @@ When implementing your own class derived from , you can o ## Remarks The return value contains the custom attributes for ancestors of `element`. -> [!NOTE] -> Starting with the .NET Framework version 2.0, this method returns security attributes on methods, constructors, and types if the attributes are stored in the new metadata format. Assemblies compiled with version 2.0 or later use the new format. Dynamic assemblies and assemblies compiled with earlier versions of the .NET Framework use the old XML format. See [Emitting Declarative Security Attributes](/previous-versions/dotnet/netframework-4.0/ms404249(v=vs.100)). - ## Examples @@ -1266,9 +1248,6 @@ When implementing your own class derived from , you can o ## Remarks -> [!NOTE] -> Starting with the .NET Framework version 2.0, this method returns security attributes if the attributes are stored in the new metadata format. Assemblies compiled with version 2.0 or later use the new format. Dynamic assemblies and assemblies compiled with earlier versions of the .NET Framework use the old XML format. See [Emitting Declarative Security Attributes](/previous-versions/dotnet/netframework-4.0/ms404249(v=vs.100)). - ## Examples @@ -1337,9 +1316,6 @@ When implementing your own class derived from , you can o ## Remarks The return value contains the custom attributes for ancestors of `element` if `inherit` is `true`. -> [!NOTE] -> Starting with the .NET Framework version 2.0, this method returns security attributes on methods, constructors, and types if the attributes are stored in the new metadata format. Assemblies compiled with version 2.0 or later use the new format. Dynamic assemblies and assemblies compiled with earlier versions of the .NET Framework use the old XML format. See [Emitting Declarative Security Attributes](/previous-versions/dotnet/netframework-4.0/ms404249(v=vs.100)). - ## Examples @@ -1682,9 +1658,6 @@ When implementing your own class derived from , you can o ## Remarks -> [!NOTE] -> Starting with the .NET Framework version 2.0, this method returns security attributes if the attributes are stored in the new metadata format. Assemblies compiled with version 2.0 or later use the new format. Dynamic assemblies and assemblies compiled with earlier versions of the .NET Framework use the old XML format. See [Emitting Declarative Security Attributes](/previous-versions/dotnet/netframework-4.0/ms404249(v=vs.100)). - ## Examples @@ -1760,9 +1733,6 @@ When implementing your own class derived from , you can o ## Remarks The return value contains the custom attributes for ancestors of `element`. -> [!NOTE] -> Starting with the .NET Framework version 2.0, this method returns security attributes on methods, constructors, and types if the attributes are stored in the new metadata format. Assemblies compiled with version 2.0 or later use the new format. Dynamic assemblies and assemblies compiled with earlier versions of the .NET Framework use the old XML format. See [Emitting Declarative Security Attributes](/previous-versions/dotnet/netframework-4.0/ms404249(v=vs.100)). - ## Examples @@ -1990,9 +1960,6 @@ When implementing your own class derived from , you can o ## Remarks The return value contains the custom attributes for ancestors of `element` if `inherit` is `true`. -> [!NOTE] -> Starting with the .NET Framework version 2.0, this method returns security attributes on methods, constructors, and types if the attributes are stored in the new metadata format. Assemblies compiled with version 2.0 or later use the new format. Dynamic assemblies and assemblies compiled with earlier versions of the .NET Framework use the old XML format. See [Emitting Declarative Security Attributes](/previous-versions/dotnet/netframework-4.0/ms404249(v=vs.100)). - ## Examples @@ -2200,9 +2167,6 @@ When implementing your own class derived from , you can o ## Remarks -> [!NOTE] -> Starting with the .NET Framework version 2.0, this method returns `true` if the assembly has security attributes stored in the new metadata format. Assemblies compiled with version 2.0 or later use the new format. Dynamic assemblies and assemblies compiled with earlier versions of the .NET Framework use the old XML format. See [Emitting Declarative Security Attributes](/previous-versions/dotnet/netframework-4.0/ms404249(v=vs.100)). - ## Examples @@ -2272,9 +2236,6 @@ When implementing your own class derived from , you can o ## Remarks The ancestors of `element` are searched for custom attributes. -> [!NOTE] -> Starting with the .NET Framework version 2.0, this method returns `true` if a type, method, or constructor has security attributes stored in the new metadata format. Assemblies compiled with version 2.0 or later use the new format. Dynamic assemblies and assemblies compiled with earlier versions of the .NET Framework use the old XML format. See [Emitting Declarative Security Attributes](/previous-versions/dotnet/netframework-4.0/ms404249(v=vs.100)). - ## Examples @@ -2485,9 +2446,6 @@ When implementing your own class derived from , you can o ## Remarks -> [!NOTE] -> Starting with the .NET Framework version 2.0, this method returns `true` if the assembly has security attributes stored in the new metadata format. Assemblies compiled with version 2.0 or later use the new format. Dynamic assemblies and assemblies compiled with earlier versions of the .NET Framework use the old XML format. See [Emitting Declarative Security Attributes](/previous-versions/dotnet/netframework-4.0/ms404249(v=vs.100)). - ## Examples @@ -2558,9 +2516,6 @@ When implementing your own class derived from , you can o ## Remarks -> [!NOTE] -> Starting with the .NET Framework version 2.0, this method returns `true` if a type, method, or constructor has security attributes stored in the new metadata format. Assemblies compiled with version 2.0 or later use the new format. Dynamic assemblies and assemblies compiled with earlier versions of the .NET Framework use the old XML format. See [Emitting Declarative Security Attributes](/previous-versions/dotnet/netframework-4.0/ms404249(v=vs.100)). - ## Examples diff --git a/xml/System/Char.xml b/xml/System/Char.xml index c518208921b..8b39d109d1e 100644 --- a/xml/System/Char.xml +++ b/xml/System/Char.xml @@ -1239,8 +1239,6 @@ The following code example demonstrates some of the methods in method does not always return the same value as the method when it is passed a particular character as a parameter. The method is designed to reflect the current version of the Unicode standard. In contrast, although the method usually reflects the current version of the Unicode standard, it may return a character's category based on a previous version of the standard or it may return a category that differs from the current standard in order to preserve backward compatibility. As a result, we recommend that you use the method instead of . - Starting with .NET Framework 4.6.2, Unicode characters are classified based on [The Unicode Standard, Version 8.0.0](https://www.unicode.org/versions/Unicode8.0.0/). In versions of the .NET Framework from the .NET Framework 4 to the .NET Framework 4.6.1, they are classified based on [The Unicode Standard, Version 6.3.0](https://www.unicode.org/versions/Unicode6.3.0/). - ]]> @@ -1306,8 +1304,6 @@ The following code example demonstrates some of the methods in method does not always return the same value as the method when it is passed a particular character as a parameter. The method is designed to reflect the current version of the Unicode standard. In contrast, although the method usually reflects the current version of the Unicode standard, it may return a character's category based on a previous version of the standard or it may return a category that differs from the current standard in order to preserve backward compatibility. As a result, we recommend that you use the method instead of . - Starting with .NET Framework 4.6.2, Unicode characters are classified based on [The Unicode Standard, Version 8.0.0](https://www.unicode.org/versions/Unicode8.0.0/). In versions of the .NET Framework from the .NET Framework 4 to the .NET Framework 4.6.1, they are classified based on [The Unicode Standard, Version 6.3.0](https://www.unicode.org/versions/Unicode6.3.0/). - ]]> diff --git a/xml/System/Console.xml b/xml/System/Console.xml index 467c5f2a5d5..ee181dde2e2 100644 --- a/xml/System/Console.xml +++ b/xml/System/Console.xml @@ -1515,8 +1515,6 @@ Columns are numbered from left to right starting at 0. Rows are numbered from to ## Remarks The console uses the input encoding to translate keyboard input into a corresponding character. The input encoding incorporates a code page that maps 256 keyboard character codes to individual characters. Different code pages include different special characters, typically customized for a language or a group of languages. - Starting with the .NET Framework 4, a property get operation may return a cached value instead of the console's current input encoding. This can occur if the value of the property is modified by some means other than an assignment to the property, such as calling the Windows `SetConsoleCP` function or using the `chcp` command from a PowerShell script. - ]]> The property value in a set operation is . @@ -2827,8 +2825,6 @@ This method can be used to reacquire the standard output stream after it has bee ## Remarks The console uses the output encoding to translate characters written by an application into corresponding console display characters. The default code page that the console uses is determined by the system locale. - Starting with the .NET Framework 4, a property get operation may return a cached value instead of the console's current output encoding. This can occur if the value of the property is modified by some means other than an assignment to the property, such as calling the Windows `SetConsoleOutputCP` function. - ]]> The property value in a set operation is . diff --git a/xml/System/DateTime.xml b/xml/System/DateTime.xml index 4ea7ac2d898..d30bd2be659 100644 --- a/xml/System/DateTime.xml +++ b/xml/System/DateTime.xml @@ -1737,8 +1737,6 @@ For applications in which portability of date and time data or a limited degree The fractional part of `value` is the fractional part of a day. For example, 4.5 is equivalent to 4 days, 12 hours, 0 minutes, 0 seconds, 0 milliseconds, and 0 ticks. - In .NET Framework, the `value` parameter is rounded to the nearest millisecond. In .NET 7 and later versions, the full precision of the `value` parameter is used. However, due to the inherent imprecision of floating point math, the resulting precision will vary. - The method takes into account leap years and the number of days in a month when performing date arithmetic. ## Examples @@ -1809,8 +1807,6 @@ For applications in which portability of date and time data or a limited degree The fractional part of `value` is the fractional part of an hour. For example, 4.5 is equivalent to 4 hours, 30 minutes, 0 seconds, 0 milliseconds, and 0 ticks. - In .NET Framework, the `value` parameter is rounded to the nearest millisecond. In .NET 7 and later versions, the full precision of the `value` parameter is used. However, due to the inherent imprecision of floating point math, the resulting precision will vary. - Converting time intervals of less than an hour to a fraction can involve a loss of precision if the result is a non-terminating repeating decimal. (For example, one minute is 0.016667 of an hour.) If this is problematic, you can use the method, which enables you to specify more than one kind of time interval in a single method call and eliminates the need to convert time intervals to fractional parts of an hour. ## Examples @@ -1934,8 +1930,6 @@ The value parameter is rounded to the nearest integer. The fractional part of `value` is the fractional part of a millisecond. For example, 4.5 is equivalent to 4 milliseconds and 5000 ticks, where one millisecond = 10000 ticks. - In .NET Framework, the `value` parameter is rounded to the nearest millisecond. In .NET 7 and later versions, the full precision of the `value` parameter is used. However, due to the inherent imprecision of floating point math, the resulting precision will vary. - ## Examples The following example uses the method to add one millisecond and 1.5 milliseconds to a value. It then displays each new value and displays the difference between it and the original value. The difference is displayed both as a time span and as a number of ticks. The example makes it clear that one millisecond equals 10,000 ticks. It also shows that fractional milliseconds are rounded before performing the addition; the value that results from adding 1.5 milliseconds to the original date is 2 milliseconds greater than the original date. @@ -2005,8 +1999,6 @@ The value parameter is rounded to the nearest integer. The fractional part of `value` is the fractional part of a minute. For example, 4.5 is equivalent to 4 minutes, 30 seconds, 0 milliseconds, and 0 ticks. - In .NET Framework, the `value` parameter is rounded to the nearest millisecond. In .NET 7 and later versions, the full precision of the `value` parameter is used. However, due to the inherent imprecision of floating point math, the resulting precision will vary. - ## Examples The following example uses the method to add a number of whole and fractional values to a date and time. @@ -2151,8 +2143,6 @@ The value parameter is rounded to the nearest integer. The fractional part of `value` is the fractional part of a second. For example, 4.5 is equivalent to 4 seconds, 500 milliseconds, and 0 ticks. - In .NET Framework, the `value` parameter is rounded to the nearest millisecond. In .NET 7 and later versions, the full precision of the `value` parameter is used. However, due to the inherent imprecision of floating point math, the resulting precision will vary. - ## Examples The following example uses the method to add 30 seconds and the number of seconds in one day to a value. It then displays each new value and displays the difference between it and the original value. The difference is displayed both as a time span and as a number of ticks. @@ -3377,8 +3367,6 @@ The value parameter is rounded to the nearest integer. The `fileTime` parameter specifies a file time expressed in 100-nanosecond ticks. - Starting with the .NET Framework version 2.0, the return value is a whose property is . - ## Examples @@ -3464,8 +3452,6 @@ The value parameter is rounded to the nearest integer. The `fileTime` parameter specifies a file time expressed in 100-nanosecond ticks. - Starting with the .NET Framework version 2.0, the return value is a whose property is . - ]]> @@ -4945,8 +4931,6 @@ juillet 2009 The property is frequently used to measure performance. However, because of its low resolution, it is not suitable for use as a benchmarking tool. A better alternative is to use the class. - Starting with the .NET Framework version 2.0, the return value is a whose property returns . - > [!NOTE] > You can also use the property to retrieve the current local date and time. It allows a local time to be expressed unambiguously as a single point in time, which in turn makes that time value portable across computers. @@ -8279,8 +8263,6 @@ In general, the ticks represent the time according to the time zone specified by whose property returns . - Because it returns the current date without the current time, the property is suitable for use in applications that work with dates only. For details, see [Choosing Between DateTime, DateTimeOffset, TimeSpan, and TimeZoneInfo](/dotnet/standard/datetime/choosing-between-datetime). In contrast, the property returns the current time without the current date, and the property returns both the current date and the current time. @@ -8496,8 +8478,6 @@ In general, the ticks represent the time according to the time zone specified by > [!IMPORTANT] > On Windows XP systems, the method recognizes only the current adjustment rule when converting from UTC to local time. As a result, conversions for periods before the current adjustment rule came into effect may not accurately reflect the difference between UTC and local time. - Starting with the .NET Framework version 2.0, the value returned by the method is determined by the property of the current object. The following table describes the possible results. - |Kind|Results| |----------|-------------| ||This instance of is converted to local time.| @@ -9401,8 +9381,6 @@ The following example illustrates how the string representation of a [!IMPORTANT] > On Windows XP systems, the method recognizes only the current adjustment rule when converting from local time to UTC. As a result, conversions for periods before the current adjustment rule came into effect may not accurately reflect the difference between local time and UTC. - Starting with the .NET Framework version 2.0, the value returned by the method is determined by the property of the current object. The following table describes the possible results. - |Kind|Results| |----------|-------------| ||No conversion is performed.| @@ -10537,8 +10515,6 @@ The following example illustrates the whose property returns . - An alternative to using is . While the former indicates that a date and time value is Coordinated Universal Time (UTC) by assigning to its property, the latter assigns the date and time value the UTC time's offset (equal to ). ## Examples diff --git a/xml/System/DateTimeOffset.xml b/xml/System/DateTimeOffset.xml index b69adeefb60..95abf7ed0aa 100644 --- a/xml/System/DateTimeOffset.xml +++ b/xml/System/DateTimeOffset.xml @@ -1114,8 +1114,6 @@ The property is earlier than The fractional part of the `days` parameter is the fractional part of a day. For example, 4.5 is equivalent to 4 days, 12 hours, 0 minutes, 0 seconds, 0 milliseconds. -In .NET Framework, the `days` parameter is rounded to the nearest millisecond. In .NET 7 and later versions, the full precision of the `days` parameter is used. However, due to the inherent imprecision of floating point math, the resulting precision will vary. - > [!NOTE] > This method returns a new object. It does not modify the value of the current object by adding `days` to its date and time. @@ -1194,8 +1192,6 @@ In .NET Framework, the `days` parameter is rounded to the nearest millisecond. I The fractional part of the `hours` parameter is the fractional part of an hour. For example, 4.5 is equivalent to 4 hours, 30 minutes, 0 seconds, 0 milliseconds. -In .NET Framework, the `hours` parameter is rounded to the nearest millisecond. In .NET 7 and later versions, the full precision of the `hours` parameter is used. However, due to the inherent imprecision of floating point math, the resulting precision will vary. - > [!NOTE] > This method returns a new object. It does not modify the value of the current object by adding `hours` to its date and time. @@ -1395,8 +1391,6 @@ The fractional part of the `milliseconds` parameter is the fractional part of a The fractional part of the `minutes` parameter is the fractional part of a minute. For example, 4.5 is equivalent to 4 minutes, 30 seconds, 0 milliseconds. -In .NET Framework, the `minutes` parameter is rounded to the nearest millisecond. In .NET 7 and later versions, the full precision of the `minutes` parameter is used. However, due to the inherent imprecision of floating point math, the resulting precision will vary. - > [!NOTE] > This method returns a new object. It does not modify the value of the current object by adding `minutes` to its date and time. @@ -1545,8 +1539,6 @@ In .NET Framework, the `minutes` parameter is rounded to the nearest millisecond |.01 second|10 milliseconds| |.001 second|1 millisecond| -In .NET Framework, the `seconds` parameter is rounded to the nearest millisecond. In .NET 7 and later versions, the full precision of the `seconds` parameter is used. However, due to the inherent imprecision of floating point math, the resulting precision will vary. - > [!NOTE] > This method returns a new object. It does not modify the value of the current object by adding `seconds` to its date and time. diff --git a/xml/System/Double.xml b/xml/System/Double.xml index e03fb322fbc..730b194e95f 100644 --- a/xml/System/Double.xml +++ b/xml/System/Double.xml @@ -4943,8 +4943,6 @@ The following code example illustrates the use of data type, the method throws an . - On .NET Core 3.0 and later versions, no exception is thrown when `s` is out of range of the data type. In most cases, the method will return or . However, there is a small set of values that are considered to be closer to the maximum or minimum values of than to positive or negative infinity. In those cases, the method returns or . If a separator is encountered in the `s` parameter during a parse operation, and the applicable currency or number decimal and group separators are the same, the parse operation assumes that the separator is a decimal separator rather than a group separator. For more information about separators, see , , , and . @@ -5173,8 +5171,6 @@ If a separator is encountered in the `s` parameter during a parse operation, and :::code language="fsharp" source="~/snippets/fsharp/System/Double/Parse/parse2.fs" id="Snippet3"::: :::code language="vb" source="~/snippets/visualbasic/System/Double/Parse/parse2.vb" id="Snippet3"::: -On .NET Framework, if `s` is out of range of the data type, the method throws an . - On .NET Core 3.0 and later versions, no exception is thrown when `s` is out of range of the data type. In most cases, the method will return or . However, there is a small set of values that are considered to be closer to the maximum or minimum values of than to positive or negative infinity. In those cases, the method returns or . If a separator is encountered in the `s` parameter during a parse operation, and the applicable currency or number decimal and group separators are the same, the parse operation assumes that the separator is a decimal separator rather than a group separator. For more information about separators, see , , , and . @@ -5300,8 +5296,6 @@ If a separator is encountered in the `s` parameter during a parse operation, and :::code language="fsharp" source="~/snippets/fsharp/System/Double/Parse/parse2.fs" id="Snippet3"::: :::code language="vb" source="~/snippets/visualbasic/System/Double/Parse/parse2.vb" id="Snippet3"::: -On .NET Framework, if `s` is out of range of the data type, the method throws an . - On .NET Core 3.0 and later versions, no exception is thrown when `s` is out of range of the data type. In most cases, the method will return or . However, there is a small set of values that are considered to be closer to the maximum or minimum values of than to positive or negative infinity. In those cases, the method returns or . If a separator is encountered in the `s` parameter during a parse operation, and the applicable currency or number decimal and group separators are the same, the parse operation assumes that the separator is a decimal separator rather than a group separator. For more information about separators, see , , , and . @@ -5566,8 +5560,6 @@ If `s` is out of range of the data type, the method returns :::code language="fsharp" source="~/snippets/fsharp/System/Double/Parse/parse2.fs" id="Snippet3"::: :::code language="vb" source="~/snippets/visualbasic/System/Double/Parse/parse2.vb" id="Snippet3"::: -On .NET Framework, if `s` is out of range of the data type, the method throws an . - On .NET Core 3.0 and later versions, no exception is thrown when `s` is out of range of the data type. In most cases, the method will return or . However, there is a small set of values that are considered to be closer to the maximum or minimum values of than to positive or negative infinity. In those cases, the method returns or . If a separator is encountered in the `s` parameter during a parse operation, and the applicable currency or number decimal and group separators are the same, the parse operation assumes that the separator is a decimal separator rather than a group separator. For more information about separators, see , , , and . @@ -10294,8 +10286,6 @@ Tau is approximately 6.2831853071795864769. :::code language="fsharp" source="~/snippets/fsharp/System/Double/TryParse/tryparse2.fs" id="Snippet3"::: :::code language="vb" source="~/snippets/visualbasic/System/Double/TryParse/tryparse2.vb" id="Snippet3"::: -On .NET Framework, if `s` is out of range of the data type, the method throws an . - On .NET Core 3.0 and later versions, no exception is thrown when `s` is out of range of the data type. In most cases, the method calculates a result of or . However, there is a small set of values that are considered to be closer to the maximum or minimum values of than to positive or negative infinity. In those cases, the method calculates a result of or . If a separator is encountered in the `s` parameter during a parse operation, and the decimal and group separators are the same, the parse operation assumes that the separator is a decimal separator rather than a group separator. For more information about separators, see , , , and . @@ -10697,8 +10687,6 @@ If a separator is encountered in the `s` parameter during a parse operation, and :::code language="fsharp" source="~/snippets/fsharp/System/Double/TryParse/tryparse2.fs" id="Snippet3"::: :::code language="vb" source="~/snippets/visualbasic/System/Double/TryParse/tryparse2.vb" id="Snippet3"::: -On .NET Framework, if `s` is out of range of the data type, the method throws an . - On .NET Core 3.0 and later versions, no exception is thrown when `s` is out of range of the data type. In most cases, the method calculates a result of or . However, there is a small set of values that are considered to be closer to the maximum or minimum values of than to positive or negative infinity. In those cases, the method calculates a result of or . If a separator is encountered in the `s` parameter during a parse operation, and the applicable currency or number decimal and group separators are the same, the parse operation assumes that the separator is a decimal separator rather than a group separator. For more information about separators, see , , , and . diff --git a/xml/System/Environment.xml b/xml/System/Environment.xml index 9da8fdd8dfe..a92d89cd822 100644 --- a/xml/System/Environment.xml +++ b/xml/System/Environment.xml @@ -1523,8 +1523,6 @@ The following example creates environment variables for the property returns `true` only after the finalizer thread has been started. When the property returns `true`, you can determine whether an application domain is being unloaded or the CLR itself is shutting down by calling the method. This method returns `true` if finalizers are called because the application domain is unloading or `false` if the CLR is shutting down. - The property returns `false` if the finalizer thread has not been started. By using this property, you can determine whether to access static variables in your finalization code. If either an application domain or the CLR is shutting down, you cannot reliably access any object that has a finalization method and that is referenced by a static field. This is because these objects may have already been finalized. @@ -2866,11 +2864,6 @@ This value updates at the same frequency as the underlying interrupt timer for t ## Remarks For .NET Core 3.x and .NET 5+, the property returns the .NET runtime version number. - For .NET Framework versions 4, 4.5, 4.5.1, and 4.5.2, the property returns a object whose string representation has the form `4.0.30319.xxxxx`. For .NET Framework 4.6 and later versions, it has the form `4.0.30319.42000`. - -> [!WARNING] -> For the .NET Framework 4.5 and later, we do not recommend using the property to detect the version of the runtime; instead, you can determine the version of the common language runtime by querying the registry. For more information, see [How to: Determine Which .NET Framework Versions Are Installed](/dotnet/framework/migration-guide/how-to-determine-which-versions-are-installed). - For more information about the version of the common language runtime that is installed with each version of the .NET Framework, see [Versions and Dependencies](/dotnet/framework/migration-guide/versions-and-dependencies). ## Examples diff --git a/xml/System/Exception.xml b/xml/System/Exception.xml index 6be3534212f..67eb89e06c0 100644 --- a/xml/System/Exception.xml +++ b/xml/System/Exception.xml @@ -96,7 +96,6 @@ Represents errors that occur during application execution. For more information about this API, see Supplemental API remarks for Exception. Handling and Throwing Exceptions - Packaging and Deploying Resources in Desktop Apps Assertions in Managed Code @@ -800,8 +799,6 @@ The following example demonstrates how to add and retrieve information using the ## Remarks HRESULT is a 32-bit value, divided into three different fields: a severity code, a facility code, and an error code. The severity code indicates whether the return value represents information, warning, or error. The facility code identifies the area of the system responsible for the error. The error code is a unique number that is assigned to represent the exception. Each exception is mapped to a distinct HRESULT. When managed code throws an exception, the runtime passes the HRESULT to the COM client. When unmanaged code returns an error, the HRESULT is converted to an exception, which is then thrown by the runtime. For information about HRESULT values and their corresponding .NET Framework exceptions, see [How to: Map HRESULTs and Exceptions](/dotnet/framework/interop/how-to-map-hresults-and-exceptions). See [Common HRESULT Values](/windows/win32/seccrypto/common-hresult-values) in the Windows documentation for a list of the values you are most likely to encounter. - Starting with the .NET Framework 4.5, the property's setter is protected, whereas its getter is public. In previous versions of the .NET Framework, both getter and setter are protected. - ## Examples @@ -813,7 +810,6 @@ The following example demonstrates how to add and retrieve information using the ]]> - How to: Map HRESULTs and Exceptions Common HRESULT Values diff --git a/xml/System/GC.xml b/xml/System/GC.xml index a489570a01b..b498758062d 100644 --- a/xml/System/GC.xml +++ b/xml/System/GC.xml @@ -405,8 +405,6 @@ Skipping zero-initialization using this API only has a material performance bene All objects, regardless of how long they have been in memory, are considered for collection; however, objects that are referenced in managed code are not collected. Use this method to force the system to try to reclaim the maximum amount of available memory. - Starting with the .NET Framework 4.5.1, you can compact the large object heap (LOH) by setting the property to before calling the method, as the following example illustrates. - :::code language="csharp" source="~/snippets/csharp/System/GC/Collect/lohcompactionmode1.cs" id="Snippet1"::: :::code language="fsharp" source="~/snippets/fsharp/System/GC/Collect/lohcompactionmode1.fs" id="Snippet1"::: :::code language="vb" source="~/snippets/visualbasic/System/GC/Collect/lohcompactionmode1.vb" id="Snippet1"::: diff --git a/xml/System/Lazy`1.xml b/xml/System/Lazy`1.xml index de62b995af2..35ee62f3a5d 100644 --- a/xml/System/Lazy`1.xml +++ b/xml/System/Lazy`1.xml @@ -185,7 +185,6 @@ By default, all public and protected members of the class are thread safe and may be used concurrently from multiple threads. These thread-safety guarantees may be removed optionally and per instance, using parameters to the type's constructors. - Lazy Initialization Lazy Expressions (F#) @@ -280,7 +279,6 @@ ]]> - Lazy Initialization @@ -355,7 +353,6 @@ ]]> - Lazy Initialization @@ -448,7 +445,6 @@ is . - Lazy Initialization @@ -543,7 +539,6 @@ contains an invalid value. - Lazy Initialization @@ -687,7 +682,6 @@ An instance created with this constructor is usable by multiple threads concurre is . - Lazy Initialization @@ -798,7 +792,6 @@ An instance created with this constructor is usable by multiple threads concurre contains an invalid value. is . - Lazy Initialization @@ -865,7 +858,6 @@ An instance created with this constructor is usable by multiple threads concurre ]]> - Lazy Initialization @@ -990,7 +982,6 @@ An instance created with this constructor is usable by multiple threads concurre The instance is initialized to use the parameterless constructor of the type that is being lazily initialized, and permissions to access the constructor are missing. The instance is initialized to use the parameterless constructor of the type that is being lazily initialized, and that type does not have a public, parameterless constructor. The initialization function tries to access on this instance. - Lazy Initialization diff --git a/xml/System/LoaderOptimization.xml b/xml/System/LoaderOptimization.xml index 2ea3c859129..27e0d45991f 100644 --- a/xml/System/LoaderOptimization.xml +++ b/xml/System/LoaderOptimization.xml @@ -69,11 +69,6 @@ [!NOTE] -> **.NET Framework only:** If custom code access security policy is set for the , by using the method, and the is created using the `MultiDomain` flag, the effect is the same as specifying the `MultiDomainHost` flag; that is, only assemblies in the GAC are shared. When this occurs, the loader does not throw an exception and the application does not experience the performance gains associated with the `MultiDomain` flag. - For more information on assembly sharing and domain-neutral assembly loading, see [Application Domains and Assemblies](/dotnet/framework/app-domains/application-domains#application-domains-and-assemblies). ]]> diff --git a/xml/System/LoaderOptimizationAttribute.xml b/xml/System/LoaderOptimizationAttribute.xml index 0c2d076a37b..18411f8470f 100644 --- a/xml/System/LoaderOptimizationAttribute.xml +++ b/xml/System/LoaderOptimizationAttribute.xml @@ -75,9 +75,6 @@ This attribute is only a hint to the loader and does not affect program behavior. -> [!NOTE] -> If custom code access security policy is set for the , by using the method, and the is created using the flag, the effect is the same as specifying the flag. That is, only assemblies in the GAC are shared. When this occurs, the loader does not throw an exception and the application does not experience the performance gains associated with the flag. - ]]> diff --git a/xml/System/MTAThreadAttribute.xml b/xml/System/MTAThreadAttribute.xml index 156c4f845e4..b2a6a064d69 100644 --- a/xml/System/MTAThreadAttribute.xml +++ b/xml/System/MTAThreadAttribute.xml @@ -71,8 +71,6 @@ COM threading models only apply to applications that use COM interop. The COM threading model can be set to single-threaded apartment or multithreaded apartment. The application thread is only initialized for COM interop if the thread actually makes a call to a COM component. If COM interop is not used, then the thread is not initialized, and the attribute, if it is present, has no effect. - Starting with the .NET Framework version 2.0, the default threading model for COM interop depends on the language in which you are developing your application, as the following table shows. - |Language|COM apartment model| |--------------|-------------------------| |C#|Multithreaded apartment| diff --git a/xml/System/MethodAccessException.xml b/xml/System/MethodAccessException.xml index fb1058a89c3..d8346a1eba6 100644 --- a/xml/System/MethodAccessException.xml +++ b/xml/System/MethodAccessException.xml @@ -79,9 +79,6 @@ - The access level of a method in a class library has changed, and one or more assemblies that reference the library have not been recompiled. -> [!NOTE] -> Beginning with the .NET Framework 4, the common language runtime treats application code as transparent when it is run with partial trust. See [Security Considerations for Reflection](/dotnet/framework/reflection-and-codedom/security-considerations-for-reflection). - uses the HRESULT COR_E_METHODACCESS, that has the value 0x80131510. For a list of initial property values for an instance of , see the constructors. diff --git a/xml/System/OutOfMemoryException.xml b/xml/System/OutOfMemoryException.xml index 8548123d9d7..98e6dccfb13 100644 --- a/xml/System/OutOfMemoryException.xml +++ b/xml/System/OutOfMemoryException.xml @@ -125,8 +125,6 @@ If you have created a type that uses unmanaged resources, make sure that you hav **You are attempting to create a large array in a 64-bit process** -By default, the common language runtime in .NET Framework does not allow single objects whose size exceeds 2GB. To override this default, you can use the [\](/dotnet/framework/configure-apps/file-schema/runtime/gcallowverylargeobjects-element) configuration file setting to enable arrays whose total size exceeds 2 GB. On .NET Core, support for arrays of greater than 2 GB is enabled by default. - **You are working with very large sets of data (such as arrays, collections, or database data sets) in memory.** When data structures or data sets that reside in memory become so large that the common language runtime is unable to allocate enough contiguous memory for them, an exception results. diff --git a/xml/System/Random.xml b/xml/System/Random.xml index 4cfe623731b..5ada5b577ac 100644 --- a/xml/System/Random.xml +++ b/xml/System/Random.xml @@ -162,8 +162,6 @@ The following example generates a random integer that it uses as an index to ret objects that are created in close succession by a call to the parameterless constructor have identical default seed values and, therefore, produce identical sets of random numbers. You can avoid this problem by using a single object to generate all random numbers. You can also work around it by generating your own random seed value and passing it to the constructor. For more information, see the constructor. - In .NET Core, the default seed value is produced by the thread-static, pseudo-random number generator, so the previously described limitation does not apply. Different objects created in close succession produce different sets of random numbers in .NET Core. Call this constructor if you want your random number generator to generate a random sequence of numbers. To generate a fixed sequence of random numbers that will be the same for different random number generators, call the constructor with a fixed seed value. This constructor overload is frequently used when testing apps that use random numbers. diff --git a/xml/System/ResolveEventHandler.xml b/xml/System/ResolveEventHandler.xml index 9a6d6685a9b..22ca516a80d 100644 --- a/xml/System/ResolveEventHandler.xml +++ b/xml/System/ResolveEventHandler.xml @@ -89,9 +89,6 @@ ## Remarks If the runtime class loader cannot resolve a reference to an assembly, type, or resource, the corresponding events are raised to give the callback a chance to tell the runtime which assembly the referenced assembly, type, or resource is in. It is the responsibility of the to return the assembly that resolves the type, assembly, or resource, or to return null if the assembly is not recognized. For more information, see [Resolving Assembly Loads](/dotnet/standard/assembly/resolve-loads) and the , , and events. -> [!IMPORTANT] -> Beginning with .NET Framework 4, the event is raised for all assemblies, including resource assemblies. In earlier versions, the event was not raised for resource assemblies. If the operating system is localized, the handler might be called multiple times: once for each culture in the fallback chain. - Every derived class of and has a constructor and an `Invoke` method. ]]> diff --git a/xml/System/STAThreadAttribute.xml b/xml/System/STAThreadAttribute.xml index 92d26030d4b..73d8e744ea1 100644 --- a/xml/System/STAThreadAttribute.xml +++ b/xml/System/STAThreadAttribute.xml @@ -71,8 +71,6 @@ COM threading models only apply to applications that use COM interop. The COM threading model can be set to single-threaded apartment or multithreaded apartment. The application thread is only initialized for COM interop if the thread actually makes a call to a COM component. If COM interop is not used, then the thread is not initialized, and the attribute, if it is present, has no effect. - Starting with the .NET Framework version 2.0, the default threading model for COM interop depends on the language in which you are developing your application, as the following table shows. - |Language|COM apartment model| |--------------|-------------------------| |C#|Multithreaded apartment| diff --git a/xml/System/String.xml b/xml/System/String.xml index 533364662c2..250bd5cd592 100644 --- a/xml/System/String.xml +++ b/xml/System/String.xml @@ -6866,8 +6866,6 @@ The behavior of is dependent on its implementa > > For more information about hash codes, see . -In .NET Framework desktop apps, you can use the [\ element](/dotnet/framework/configure-apps/file-schema/runtime/userandomizedstringhashalgorithm-element) to generate unique hash codes on a per-application domain basis. This can reduce the number of collisions and improve the overall performance of insertions and lookups that use hash tables. The following example shows how to use the [\ element](/dotnet/framework/configure-apps/file-schema/runtime/userandomizedstringhashalgorithm-element). It defines a `DisplayString` class that includes a private string constant, `s`, whose value is "This is a string." It also includes a `ShowStringHashCode` method that displays the string value and its hash code along with the name of the application domain in which the method is executing. - :::code language="csharp" source="~/snippets/csharp/System/String/GetHashCode/perdomain.cs" id="Snippet2"::: :::code language="fsharp" source="~/snippets/fsharp/System/String/GetHashCode/perdomain.fs" id="Snippet2"::: :::code language="vb" source="~/snippets/visualbasic/System/String/GetHashCode/perdomain.vb" id="Snippet2"::: @@ -6915,7 +6913,6 @@ The following example demonstrates the method The value returned by is platform-dependent. It differs on the 32-bit and 64-bit versions of .NET Framework. It also can differ between versions of .NET Framework and .NET Core. - <UseRandomizedStringHashAlgorithm> Element @@ -12404,8 +12401,6 @@ The following example demonstrates the method. [!NOTE] > This method does not modify the value of the current instance. Instead, it returns a new string in which all characters from position `startIndex` to the end of the original string have been removed. @@ -12493,8 +12488,6 @@ The following example demonstrates the method. The [!NOTE] > This method does not modify the value of the current instance. Instead, it returns a new string in which the number of characters specified by the `count` parameter have been removed. The characters are removed at the position specified by `startIndex`. diff --git a/xml/System/TimeZoneInfo.xml b/xml/System/TimeZoneInfo.xml index fc863e8bb0b..c188efed963 100644 --- a/xml/System/TimeZoneInfo.xml +++ b/xml/System/TimeZoneInfo.xml @@ -986,9 +986,6 @@ If `dateTime` corresponds to an ambiguous local time, this method assumes that it is standard local time. If `dateTime` corresponds to an invalid local time, the method throws an . -> [!NOTE] -> If the current computer's local time zone includes multiple adjustment rules, this overload of the method can return results that differ from the and methods. always applies the current adjustment rule to time zone conversion, whether or not `dateTime` lies within its date range. And when executing on .NET Framework 3.5, also applies the current adjustment rule to time zone conversion, whether or not `dateTime` lies within its date range. - If the UTC equivalent of `dateTime` is earlier than or later that , this method returns or , respectively. diff --git a/xml/System/Type.xml b/xml/System/Type.xml index 155977561bb..f2080d003ed 100644 --- a/xml/System/Type.xml +++ b/xml/System/Type.xml @@ -149,7 +149,6 @@ The code example uses the to invoke the - Viewing Type Information @@ -380,7 +379,6 @@ TopNamespace.Sub\+Namespace.ContainingClass+NestedClass, MyAssembly, Version=1.3 - Specifying Fully Qualified Type Names @@ -543,7 +541,6 @@ TopNamespace.Sub\+Namespace.ContainingClass+NestedClass, MyAssembly, Version=1.3 - Reflection and Generic Types @@ -611,8 +608,6 @@ TopNamespace.Sub\+Namespace.ContainingClass+NestedClass, MyAssembly, Version=1.3 - Reflection and Generic Types - How to: Examine and Instantiate Generic Types with Reflection @@ -676,9 +671,6 @@ TopNamespace.Sub\+Namespace.ContainingClass+NestedClass, MyAssembly, Version=1.3 The that is returned by the property is either a in the case of a generic method, or a in the case of a generic constructor. -> [!NOTE] -> In the .NET Framework version 2.0, generic constructors are not supported. - For a list of the invariant conditions for terms used in generic reflection, see the property remarks. @@ -693,8 +685,6 @@ TopNamespace.Sub\+Namespace.ContainingClass+NestedClass, MyAssembly, Version=1.3 ]]> - Reflection and Generic Types - How to: Examine and Instantiate Generic Types with Reflection @@ -1678,7 +1668,6 @@ The `filter` argument can be a custom delegate of type - Specifying Fully Qualified Type Names @@ -1742,8 +1731,6 @@ The `filter` argument can be a custom delegate of type The invoked method is not supported in the base class. - Reflection and Generic Types - How to: Examine and Instantiate Generic Types with Reflection @@ -1827,8 +1814,6 @@ The `filter` argument can be a custom delegate of type - Reflection and Generic Types - How to: Examine and Instantiate Generic Types with Reflection @@ -4340,8 +4325,6 @@ In .NET 6 and earlier versions, the method does no The invoked method is not supported in the base class. Derived classes must provide an implementation. - Reflection and Generic Types - How to: Examine and Instantiate Generic Types with Reflection @@ -4405,7 +4388,6 @@ In .NET 6 and earlier versions, the method does no The current object is not a generic type parameter. That is, the property returns . - How to: Examine and Instantiate Generic Types with Reflection @@ -4484,8 +4466,6 @@ In .NET 6 and earlier versions, the method does no - Reflection and Generic Types - How to: Examine and Instantiate Generic Types with Reflection @@ -9063,7 +9043,6 @@ The following example retrieves the `Type` object of a user-defined class, retri To be added. A class initializer is invoked and throws an exception. - Specifying Fully Qualified Type Names @@ -9134,10 +9113,6 @@ You can use the method to obtain a [!NOTE] > If `typeName` cannot be found, the call to the method returns `null`. It does not throw an exception. To control whether an exception is thrown, call an overload of the method that has a `throwOnError` parameter. - .NET Framework only: only works on assemblies loaded from disk. If you call to look up a type defined in a dynamic assembly defined using the services, you might get inconsistent behavior. The behavior depends on whether the dynamic assembly is persistent, that is, created using the `RunAndSave` or `Save` access modes of the enumeration. If the dynamic assembly is persistent and has been written to disk before `GetType` is called, the loader finds the saved assembly on disk, loads that assembly, and retrieves the type from that assembly. If the assembly has not been saved to disk when `GetType` is called, the method returns `null`. `GetType` does not understand transient dynamic assemblies; therefore, calling `GetType` to retrieve a type in a transient dynamic assembly returns `null`. - - In .NET Framework, to use `GetType` on a dynamic module, subscribe to the event and call `GetType` before saving. Otherwise, you will get two copies of the assembly in memory. - On .NET Core 3.0 and later versions, assembly loads triggered by this API are affected by the current value of . The following table shows what members of a base class are returned by the `Get` methods when reflecting on a type. @@ -9275,7 +9250,6 @@ Note: In .NET for Win - Specifying Fully Qualified Type Names @@ -9345,10 +9319,6 @@ Note: In .NET for Win ## Remarks You can use the method to obtain a object for a type in another assembly if you know its assembly-qualified name, which can be obtained from . causes loading of the assembly specified in `typeName`. You can also load an assembly using the method, and then use the or method to get objects. If a type is in an assembly known to your program at compile time, it's more efficient to use `typeof` in C# or the `GetType` operator in Visual Basic. - .NET Framework only: only works on assemblies loaded from disk. If you call to look up a type defined in a dynamic assembly defined using the services, you might get inconsistent behavior. The behavior depends on whether the dynamic assembly is persistent, that is, created using the `RunAndSave` or `Save` access modes of the enumeration. If the dynamic assembly is persistent and has been written to disk before `GetType` is called, the loader finds the saved assembly on disk, loads that assembly, and retrieves the type from that assembly. If the assembly has not been saved to disk when `GetType` is called, the method returns `null`. `GetType` does not understand transient dynamic assemblies; therefore, calling `GetType` to retrieve a type in a transient dynamic assembly returns `null`. - - In .NET Framework, to use `GetType` on a dynamic module, subscribe to the event and call `GetType` before saving. Otherwise, you will get two copies of the assembly in memory. - On .NET Core 3.0 and later versions, assembly loads triggered by this API are affected by the current value of . The `throwOnError` parameter specifies what happens when the type is not found, and also suppresses certain other exception conditions, as described in the Exceptions section. Some exceptions are thrown regardless of the value of `throwOnError`. For example, if the type is found but cannot be loaded, a is thrown even if `throwOnError` is `false`. @@ -9512,7 +9482,6 @@ Note: In .NET for Win - Specifying Fully Qualified Type Names @@ -9583,10 +9552,6 @@ Note: In .NET for Win ## Remarks You can use the method to obtain a object for a type in another assembly if you know its assembly-qualified name, which can be obtained from . causes loading of the assembly specified in `typeName`. You can also load an assembly using the method, and then use the or method to get objects. If a type is in an assembly known to your program at compile time, it's more efficient to use `typeof` in C# or the `GetType` operator in Visual Basic. - .NET Framework only: only works on assemblies loaded from disk. If you call to look up a type defined in a dynamic assembly defined using the services, you might get inconsistent behavior. The behavior depends on whether the dynamic assembly is persistent, that is, created using the `RunAndSave` or `Save` access modes of the enumeration. If the dynamic assembly is persistent and has been written to disk before `GetType` is called, the loader finds the saved assembly on disk, loads that assembly, and retrieves the type from that assembly. If the assembly has not been saved to disk when `GetType` is called, the method returns `null`. `GetType` does not understand transient dynamic assemblies; therefore, calling `GetType` to retrieve a type in a transient dynamic assembly returns `null`. - - In .NET Framework, to use `GetType` on a dynamic module, subscribe to the event and call `GetType` before saving. Otherwise, you will get two copies of the assembly in memory. - On .NET Core 3.0 and later versions, assembly loads triggered by this API are affected by the current value of . The `throwOnError` parameter specifies what happens when the type is not found, and also suppresses certain other exception conditions, as described in the Exceptions section. Some exceptions are thrown regardless of the value of `throwOnError`. For example, if the type is found but cannot be loaded, a is thrown even if `throwOnError` is `false`. @@ -9737,7 +9702,6 @@ Type.GetType("System.Collections.Generic.Dictionary`2[System.String,[MyType,MyAs - Specifying Fully Qualified Type Names @@ -11595,11 +11559,6 @@ Calling this method overload is the same as calling the [!NOTE] -> This method can be used to access non-public members if the caller has been granted with the flag and if the grant set of the non-public members is restricted to the caller's grant set, or a subset thereof. (See [Security Considerations for Reflection](/dotnet/framework/reflection-and-codedom/security-considerations-for-reflection).) -> -> To use this functionality, your application should target .NET Framework 3.5 or later. - ## Examples The following example uses `InvokeMember` to access members of a type. @@ -11830,11 +11789,6 @@ Calling this method overload is the same as calling the [!NOTE] -> This method can be used to access non-public members if the caller has been granted with the flag and if the grant set of the non-public members is restricted to the caller's grant set, or a subset thereof. (See [Security Considerations for Reflection](/dotnet/framework/reflection-and-codedom/security-considerations-for-reflection).) -> -> To use this functionality, your application should target the .NET Framework 3.5 or later. - ]]> @@ -12074,11 +12028,6 @@ Calling this method overload is the same as calling the [!NOTE] -> This method can be used to access non-public members if the caller has been granted with the flag and if the grant set of the non-public members is restricted to the caller's grant set, or a subset thereof. (See [Security Considerations for Reflection](/dotnet/framework/reflection-and-codedom/security-considerations-for-reflection).) -> -> To use this functionality, your application should target the .NET Framework 3.5 or later. - ]]> @@ -13475,8 +13424,6 @@ Byref-like structures are declared using `ref struct` keyword in C#. An instance object to represent its view of the COM type. The common language runtime supports type equivalence between these different views for interfaces, structures, enumerations, and delegates. - Type equivalence means that a COM object that is passed from one managed assembly to another can be cast to the appropriate managed type in the receiving assembly. The method enables an assembly to determine that a COM object obtained from another assembly has the same COM identity as one of the first assembly's own embedded interop types, and thus can be cast to that type. For more information, see [Type Equivalence and Embedded Interop Types](/dotnet/framework/interop/type-equivalence-and-embedded-interop-types). @@ -13704,8 +13651,6 @@ Byref-like structures are declared using `ref struct` keyword in C#. An instance - Reflection and Generic Types - How to: Examine and Instantiate Generic Types with Reflection @@ -13797,8 +13742,6 @@ Byref-like structures are declared using `ref struct` keyword in C#. An instance - Reflection and Generic Types - How to: Examine and Instantiate Generic Types with Reflection @@ -13863,8 +13806,6 @@ Byref-like structures are declared using `ref struct` keyword in C#. An instance - Reflection and Generic Types - How to: Examine and Instantiate Generic Types with Reflection @@ -15328,14 +15269,10 @@ Byref-like structures are declared using `ref struct` keyword in C#. An instance > [!IMPORTANT] > For partial-trust assemblies, the value of this property depends on the current trust level of the assembly. If the assembly is loaded into a partially trusted application domain (for example, into a sandboxed application domain), then the runtime ignores the security annotations of the assembly. The assembly and all its types are treated as transparent. The runtime pays attention to the security annotations of a partial-trust assembly only when that assembly is loaded into a fully trusted application domain (for example, into the default application domain of a desktop application). By contrast, a trusted assembly (that is, a strong-named assembly that is installed in the global assembly cache) is always loaded with full trust regardless of the trust level of the application domain, so its current trust level is always fully trusted. You can determine the current trust levels of assemblies and application domains by using the and properties. - For more information about reflection and transparency, see [Security Considerations for Reflection](/dotnet/framework/reflection-and-codedom/security-considerations-for-reflection). For information about transparency, see [Security Changes](/dotnet/framework/security/security-changes). - ]]> - Security Considerations for Reflection - Security Changes in the .NET Framework @@ -15393,14 +15330,10 @@ Byref-like structures are declared using `ref struct` keyword in C#. An instance > [!IMPORTANT] > For partial-trust assemblies, the value of this property depends on the current trust level of the assembly. If the assembly is loaded into a partially trusted application domain (for example, into a sandboxed application domain), then the runtime ignores the security annotations of the assembly. The assembly and all its types are treated as transparent. The runtime pays attention to the security annotations of a partial-trust assembly only when that assembly is loaded into a fully trusted application domain (for example, into the default application domain of a desktop application). By contrast, a trusted assembly (that is, a strong-named assembly that is installed in the global assembly cache) is always loaded with full trust regardless of the trust level of the application domain, so its current trust level is always fully trusted. You can determine the current trust levels of assemblies and application domains by using the and properties. - For more information about reflection and transparency, see [Security Considerations for Reflection](/dotnet/framework/reflection-and-codedom/security-considerations-for-reflection). For information about transparency, see [Security Changes](/dotnet/framework/security/security-changes). - ]]> - Security Considerations for Reflection - Security Changes in the .NET Framework @@ -15452,14 +15385,10 @@ Byref-like structures are declared using `ref struct` keyword in C#. An instance > [!IMPORTANT] > For partial-trust assemblies, the value of this property depends on the current trust level of the assembly. If the assembly is loaded into a partially trusted application domain (for example, into a sandboxed application domain), then the runtime ignores the security annotations of the assembly. The assembly and all its types are treated as transparent. The runtime pays attention to the security annotations of a partial-trust assembly only when that assembly is loaded into a fully trusted application domain (for example, into the default application domain of a desktop application). By contrast, a trusted assembly (that is, a strong-named assembly that is installed in the global assembly cache) is always loaded with full trust regardless of the trust level of the application domain, so its current trust level is always fully trusted. You can determine the current trust levels of assemblies and application domains by using the and properties. - For more information about reflection and transparency, see [Security Considerations for Reflection](/dotnet/framework/reflection-and-codedom/security-considerations-for-reflection). For information about transparency, see [Security Changes](/dotnet/framework/security/security-changes). - ]]> - Security Considerations for Reflection - Security Changes in the .NET Framework @@ -16598,8 +16527,6 @@ The following example uses the method to cre The invoked method is not supported in the base class. Derived classes must provide an implementation. - Reflection and Generic Types - How to: Examine and Instantiate Generic Types with Reflection @@ -16985,7 +16912,6 @@ The following example uses the method to cre - Specifying Fully Qualified Type Names @@ -17291,8 +17217,6 @@ The following example uses the method to cre - Specifying Fully Qualified Type Names - How to: Load Assemblies into the Reflection-Only Context diff --git a/xml/System/TypedReference.xml b/xml/System/TypedReference.xml index 811cdf5e33a..00c9b843d1a 100644 --- a/xml/System/TypedReference.xml +++ b/xml/System/TypedReference.xml @@ -280,11 +280,6 @@ ## Remarks The method returns a typed reference to some terminal field, where the `target` parameter contains the field described by the first element of `flds`, the field described by the first element of `flds` contains the field described by the second element of `flds`, and so on until the terminal field is reached. -> [!NOTE] -> This method can be used to access non-public members if the caller has been granted with the flag and if the grant set of the non-public members is restricted to the caller's grant set, or a subset thereof. (See [Security Considerations for Reflection](/dotnet/framework/reflection-and-codedom/security-considerations-for-reflection).) -> -> To use this functionality, your application should target .NET Framework 3.5 or later. - ]]> diff --git a/xml/System/Uri.xml b/xml/System/Uri.xml index d1f7a3e27da..b62685d5158 100644 --- a/xml/System/Uri.xml +++ b/xml/System/Uri.xml @@ -123,9 +123,6 @@ The following code snippet shows example values of the various properties on the - Changes to the System.Uri namespace in Version 2.0 - International Resource Identifier Support in System.UriSystem.Uri - Network Programming in the .NET Framework @@ -1593,8 +1590,6 @@ If you used an escaped string to construct this instance (for example, `"http:// The property was extended in .NET Framework v3.5, 3.0 SP1, and 2.0 SP1 to provide International Resource Identifier (IRI) support based on RFC 3987. However, to ensure application compatibility with prior versions, you must specifically enable it in .NET Framework apps. To enable support for IRI, the following two changes are required: -1. Add the following line to the *machine.config* file under the .NET Framework 2.0 directory: - `\
` 2. Specify whether you want Internationalized Domain Name (IDN) parsing applied to the domain name and whether IRI parsing rules should be applied. This can be done in the *machine.config* or in the *app.config* file. For example, add the following: @@ -5384,8 +5379,6 @@ The following examples show a URI and the results of calling instance and determines whether the scheme is .