Imported Upstream version 3.6.0

Former-commit-id: da6be194a6b1221998fc28233f2503bd61dd9d14
This commit is contained in:
Jo Shields
2014-08-13 10:39:27 +01:00
commit a575963da9
50588 changed files with 8155799 additions and 0 deletions

View File

@@ -0,0 +1,352 @@
<?xml version="1.0" encoding="utf-8"?>
<Type Name="ComponentGuaranteesAttribute" FullName="System.Runtime.Versioning.ComponentGuaranteesAttribute">
<TypeSignature Language="C#" Value="public sealed class ComponentGuaranteesAttribute : Attribute" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi sealed beforefieldinit ComponentGuaranteesAttribute extends System.Attribute" />
<AssemblyInfo>
<AssemblyName>mscorlib</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>System.Attribute</BaseTypeName>
</Base>
<Interfaces />
<Attributes>
<Attribute>
<AttributeName>System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Module | System.AttributeTargets.Class | System.AttributeTargets.Struct | System.AttributeTargets.Enum | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Property | System.AttributeTargets.Event | System.AttributeTargets.Interface | System.AttributeTargets.Delegate | System.AttributeTargets.All, AllowMultiple=false, Inherited=false)</AttributeName>
</Attribute>
</Attributes>
<Docs>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>The <see cref="T:System.Runtime.Versioning.ComponentGuaranteesAttribute" /> is used by developers of components and class libraries to indicate the level of compatibility that consumers of their libraries can expect across multiple versions. It indicates the level of guarantee that a future version of the library or component will not break an existing client. Clients can then use the <see cref="T:System.Runtime.Versioning.ComponentGuaranteesAttribute" /> as an aid in designing their own interfaces to ensure stability across versions.</para>
<block subset="none" type="note">
<para>The common language runtime (CLR) does not use this attribute in any way. Its value lies in formally documenting the intent of the component author. Compile-time tools can also use these declarations to detect compile-time errors that would otherwise break the declared guarantee.</para>
</block>
<format type="text/html">
<h2>Levels of Compatibility</h2>
</format>
<para>The <see cref="T:System.Runtime.Versioning.ComponentGuaranteesAttribute" /> supports the following levels of compatibility, which are represented by members of the <see cref="T:System.Runtime.Versioning.ComponentGuaranteesOptions" /> enumeration:</para>
<list type="bullet">
<item>
<para>No version-to-version compatibility (<see cref="F:System.Runtime.Versioning.ComponentGuaranteesOptions.None" />). The client can expect that future versions will break the existing client. For more information, see the <format type="text/html"><a href="#None">No Compatibility</a></format> section later in this topic.</para>
</item>
<item>
<para>Side-by-side version-to-version compatibility (<see cref="F:System.Runtime.Versioning.ComponentGuaranteesOptions.SideBySide" />). The component has been tested to work when more than one version of the assembly is loaded in the same application domain. In general, future versions can break compatibility. However, when breaking changes are made, the old version is not modified but exists alongside the new version. Side-by-side execution is the expected way to make existing clients work when breaking changes are made. For more information, see the <format type="text/html"><a href="#SideBySide">Side-by-Side Compatibility</a></format> section later in this topic.</para>
</item>
<item>
<para>Stable version-to-version compatibility (<see cref="F:System.Runtime.Versioning.ComponentGuaranteesOptions.Stable" />). Future versions should not break the client, and side-by-side execution should not be needed. However, if the client is inadvertently broken, it may be possible to use side-by-side execution to fix the problem. For more information, see the <format type="text/html"><a href="#Standard">Stable Compatibility</a></format> section.</para>
</item>
<item>
<para>Exchange version-to-version compatibility (<see cref="F:System.Runtime.Versioning.ComponentGuaranteesOptions.Exchange" />). Extraordinary care is taken to ensure that future versions will not break the client. The client should use only these types in the signature of interfaces that are used for communication with other assemblies that are deployed independently of one another. Only one version of these types is expected to be in a given application domain, which means that if a client breaks, side-by-side execution cannot fix the compatibility problem. For more information, see the <format type="text/html"><a href="#Exchange">Exchange Type Compatibility</a></format> section. </para>
</item>
</list>
<para>The following sections discuss each level of guarantee in greater detail.</para>
<format type="text/html">
<a href="#None" />
</format>
<format type="text/html">
<h2>No Compatibility</h2>
</format>
<para>Marking a component as <see cref="F:System.Runtime.Versioning.ComponentGuaranteesOptions.None" /> indicates that the provider makes no guarantees about compatibility. Clients should avoid taking any dependencies on the exposed interfaces. This level of compatibility is useful for types that are experimental or that are publicly exposed but are intended only for components that are always updated at the same time. <see cref="F:System.Runtime.Versioning.ComponentGuaranteesOptions.None" /> explicitly indicates that this component should not be used by external components.</para>
<format type="text/html">
<a href="#SideBySide" />
</format>
<format type="text/html">
<h2>Side-by-Side Compatibility</h2>
</format>
<para>Marking a component as <see cref="F:System.Runtime.Versioning.ComponentGuaranteesOptions.SideBySide" /> indicates that the component has been tested to work when more than one version of the assembly is loaded into the same application domain. Breaking changes are allowed as long as they are made to the assembly that has the greater version number. Components that are bound to an old version of the assembly are expected to continue to bind to the old version, and other components can bind to the new version. It is also possible to update a component that is declared to be <see cref="F:System.Runtime.Versioning.ComponentGuaranteesOptions.SideBySide" /> by destructively modifying the old version.</para>
<format type="text/html">
<a href="#Standard" />
</format>
<format type="text/html">
<h2>Stable Compatibility</h2>
</format>
<para>Marking a type as <see cref="F:System.Runtime.Versioning.ComponentGuaranteesOptions.Stable" /> indicates that the type should remain stable across versions. However, it may also be possible for side-by-side versions of a stable type to exist in the same application domain. </para>
<para>Stable types maintain a high binary compatibility bar. Because of this, providers should avoid making breaking changes to stable types. The following kinds of changes are acceptable:</para>
<list type="bullet">
<item>
<para>Adding private instance fields to, or removing fields from, a type, as long as this does not break the serialization format. </para>
</item>
<item>
<para>Changing a non-serializable type to a serializable type. (However, a serializable type cannot be changed to a non-serializable type.)</para>
</item>
<item>
<para>Throwing new, more derived exceptions from a method.</para>
</item>
<item>
<para>Improving the performance of a method.</para>
</item>
<item>
<para>Changing the range of return values, as long as the change does not adversely affect the majority of clients.</para>
</item>
<item>
<para>Fixing serious bugs, if the business justification is high and the number of adversely affected clients is low.</para>
</item>
</list>
<para>Because new versions of stable components are not expected to break existing clients, generally only one version of a stable component is needed in an application domain. However, this is not a requirement, because stable types are not used as well-known exchange types that all components agree upon. Therefore, if a new version of a stable component does inadvertently break some component, and if other components need the new version, it may be possible to fix the problem by loading both the old and new component.</para>
<para>
<see cref="F:System.Runtime.Versioning.ComponentGuaranteesOptions.Stable" /> provides a stronger version compatibility guarantee than <see cref="F:System.Runtime.Versioning.ComponentGuaranteesOptions.None" />. It is a common default for multi-version components.</para>
<para>
<see cref="F:System.Runtime.Versioning.ComponentGuaranteesOptions.Stable" /> can be combined with <see cref="F:System.Runtime.Versioning.ComponentGuaranteesOptions.SideBySide" />, which states that the component will not break compatibility but is tested to work when more than one version is loaded in a given application domain. </para>
<para>After a type or method is marked as <see cref="F:System.Runtime.Versioning.ComponentGuaranteesOptions.Stable" />, it can be upgraded to <see cref="F:System.Runtime.Versioning.ComponentGuaranteesOptions.Exchange" />. However, it cannot be downgraded to <see cref="F:System.Runtime.Versioning.ComponentGuaranteesOptions.None" />.</para>
<format type="text/html">
<a href="#Exchange" />
</format>
<format type="text/html">
<h2>Exchange Type Compatibility</h2>
</format>
<para>Marking a type as <see cref="F:System.Runtime.Versioning.ComponentGuaranteesOptions.Exchange" /> provides a stronger version compatibility guarantee than <see cref="F:System.Runtime.Versioning.ComponentGuaranteesOptions.Stable" />, and should be applied to the most stable of all types. These types are intended to be used for interchange between independently built components across all component boundaries in both time (any version of the CLR or any version of a component or application) and space (cross-process, cross-CLR in one process, cross-application domain in one CLR). If a breaking change is made to an exchange type, it is impossible to fix the issue by loading multiple versions of the type.</para>
<para>Exchange types should be changed only when a problem is very serious (such as a severe security issue) or the probability of breakage is very low (that is, if the behavior was already broken in a random way that code could not have conceivably taken a dependency on). You can make the following kinds of changes to an exchange type:</para>
<list type="bullet">
<item>
<para>Add inheritance of new interface definitions.</para>
</item>
<item>
<para>Add new private methods that implement the methods of newly inherited interface definitions.</para>
</item>
<item>
<para>Add new static fields.</para>
</item>
<item>
<para>Add new static methods.</para>
</item>
<item>
<para>Add new non-virtual instance methods.</para>
</item>
</list>
<para>The following are considered breaking changes and are not allowed for primitive types:</para>
<list type="bullet">
<item>
<para>Changing serialization formats. Version-tolerant serialization is required.</para>
</item>
<item>
<para>Adding or removing private instance fields. This risks changing the serialization format of the type and breaking client code that uses reflection.</para>
</item>
<item>
<para>Changing the serializability of a type. A non-serializable type may not be made serializable, and vice versa.</para>
</item>
<item>
<para>Throwing different exceptions from a method.</para>
</item>
<item>
<para>Changing the range of a method's return values, unless the member definition raises this possibility and clearly indicates how clients should handle unknown values.</para>
</item>
<item>
<para>Fixing most bugs. Consumers of the type will rely on the existing behavior.</para>
</item>
</list>
<para>After a component, type, or member is marked with the <see cref="F:System.Runtime.Versioning.ComponentGuaranteesOptions.Exchange" /> guarantee, it cannot be changed to either <see cref="F:System.Runtime.Versioning.ComponentGuaranteesOptions.Stable" /> or <see cref="F:System.Runtime.Versioning.ComponentGuaranteesOptions.None" />.</para>
<para>Typically, exchange types are the basic types (such as <see cref="T:System.Int32" /> and <see cref="T:System.String" /> in the .NET Framework) and interfaces (such as <see cref="T:System.Collections.Generic.IList`1" />, <see cref="T:System.Collections.Generic.IEnumerable`1" />, and <see cref="T:System.IComparable`1" />) that are commonly used in public interfaces.</para>
<para>Exchange types may publicly expose only other types that are also marked with <see cref="F:System.Runtime.Versioning.ComponentGuaranteesOptions.Exchange" /> compatibility. In addition, exchange types cannot depend on the behavior of Windows APIs that are prone to change.</para>
<format type="text/html">
<h2>Component Guarantees: A Summary</h2>
</format>
<para>The following table indicates how a component's characteristics and usage affect its compatibility guarantee.</para>
<list type="table">
<listheader>
<item>
<term>
<para>Component characteristics</para>
</term>
<description>
<para>Exchange</para>
</description>
<description>
<para>Stable</para>
</description>
<description>
<para>Side-by-Side</para>
</description>
<description>
<para>None</para>
</description>
</item>
</listheader>
<item>
<term>
<para>Can be used in interfaces between components that version independently.</para>
</term>
<description>
<para>Y</para>
</description>
<description>
<para>N</para>
</description>
<description>
<para>N</para>
</description>
<description>
<para>N</para>
</description>
</item>
<item>
<term>
<para>Can be used (privately) by an assembly that versions independently.</para>
</term>
<description>
<para>Y</para>
</description>
<description>
<para>Y</para>
</description>
<description>
<para>Y</para>
</description>
<description>
<para>N</para>
</description>
</item>
<item>
<term>
<para>Can have multiple versions in a single application domain.</para>
</term>
<description>
<para>N</para>
</description>
<description>
<para>Y</para>
</description>
<description>
<para>Y</para>
</description>
<description>
<para>Y</para>
</description>
</item>
<item>
<term>
<para>Can make breaking changes</para>
</term>
<description>
<para>N</para>
</description>
<description>
<para>N</para>
</description>
<description>
<para>Y</para>
</description>
<description>
<para>Y</para>
</description>
</item>
<item>
<term>
<para>Tested to make certain multiple versions of the assembly can be loaded together.</para>
</term>
<description>
<para>N</para>
</description>
<description>
<para>N</para>
</description>
<description>
<para>Y</para>
</description>
<description>
<para>N</para>
</description>
</item>
<item>
<term>
<para>Can make breaking changes in place.</para>
</term>
<description>
<para>N</para>
</description>
<description>
<para>N</para>
</description>
<description>
<para>N</para>
</description>
<description>
<para>Y</para>
</description>
</item>
<item>
<term>
<para>Can make very safe non-breaking servicing changes in place.</para>
</term>
<description>
<para>Y</para>
</description>
<description>
<para>Y</para>
</description>
<description>
<para>Y</para>
</description>
<description>
<para>Y</para>
</description>
</item>
</list>
<format type="text/html">
<h2>Applying the Attribute</h2>
</format>
<para>You can apply the <see cref="T:System.Runtime.Versioning.ComponentGuaranteesAttribute" /> to an assembly, a type, or a type member. Its application is hierarchical. That is, by default, the guarantee defined by the <see cref="P:System.Runtime.Versioning.ComponentGuaranteesAttribute.Guarantees" /> property of the attribute at the assembly level defines the guarantee of all types in the assembly and all members in those types. Similarly, if the guarantee is applied to the type, by default it also applies to each member of the type. </para>
<para>This inherited guarantee can be overridden by applying the <see cref="T:System.Runtime.Versioning.ComponentGuaranteesAttribute" /> to individual types and type members. However, guarantees that override the default can only weaken the guarantee; they cannot strengthen it. For example, if an assembly is marked with the <see cref="F:System.Runtime.Versioning.ComponentGuaranteesOptions.None" /> guarantee, its types and members have no compatibility guarantee, and any other guarantee that is applied to types or members in the assembly is ignored. </para>
<format type="text/html">
<h2>Testing the Guarantee</h2>
</format>
<para>The <see cref="P:System.Runtime.Versioning.ComponentGuaranteesAttribute.Guarantees" /> property returns a member of the <see cref="T:System.Runtime.Versioning.ComponentGuaranteesOptions" /> enumeration, which is marked with the <see cref="T:System.FlagsAttribute" /> attribute. This means that you should test for the flag that you are interested in by masking away potentially unknown flags. For example, the following example tests whether a type is marked as <see cref="F:System.Runtime.Versioning.ComponentGuaranteesOptions.Stable" />.</para>
<para>code reference: System.Runtime.Versioning.ComponentGuaranteesAttribute.Class#1</para>
<para>The following example tests whether a type is marked as <see cref="F:System.Runtime.Versioning.ComponentGuaranteesOptions.Stable" /> or <see cref="F:System.Runtime.Versioning.ComponentGuaranteesOptions.Exchange" />.</para>
<para>code reference: System.Runtime.Versioning.ComponentGuaranteesAttribute.Class#2</para>
<para>The following example tests wither a type is marked as <see cref="F:System.Runtime.Versioning.ComponentGuaranteesOptions.None" /> (that is, neither <see cref="F:System.Runtime.Versioning.ComponentGuaranteesOptions.Stable" /> nor <see cref="F:System.Runtime.Versioning.ComponentGuaranteesOptions.Exchange" />).</para>
<para>code reference: System.Runtime.Versioning.ComponentGuaranteesAttribute.Class#3</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Defines the compatibility guarantee of a component, type, or type member that may span multiple versions.</para>
</summary>
</Docs>
<Members>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public ComponentGuaranteesAttribute (System.Runtime.Versioning.ComponentGuaranteesOptions guarantees);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(valuetype System.Runtime.Versioning.ComponentGuaranteesOptions guarantees) cil managed" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Parameters>
<Parameter Name="guarantees" Type="System.Runtime.Versioning.ComponentGuaranteesOptions" />
</Parameters>
<Docs>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>When the <see cref="T:System.Runtime.Versioning.ComponentGuaranteesAttribute" /> class is instantiated, the value of the <paramref name="guarantees" /> parameter is assigned to the <see cref="P:System.Runtime.Versioning.ComponentGuaranteesAttribute.Guarantees" /> property.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Initializes a new instance of the <see cref="T:System.Runtime.Versioning.ComponentGuaranteesAttribute" /> class with a value that indicates a library, type, or member's guaranteed level of compatibility across multiple versions.</para>
</summary>
<param name="guarantees">
<attribution license="cc4" from="Microsoft" modified="false" />One of the enumeration values that specifies the level of compatibility that is guaranteed across multiple versions.</param>
</Docs>
</Member>
<Member MemberName="Guarantees">
<MemberSignature Language="C#" Value="public System.Runtime.Versioning.ComponentGuaranteesOptions Guarantees { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance valuetype System.Runtime.Versioning.ComponentGuaranteesOptions Guarantees" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Runtime.Versioning.ComponentGuaranteesOptions</ReturnType>
</ReturnValue>
<Docs>
<value>To be added.</value>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>The value of the <see cref="P:System.Runtime.Versioning.ComponentGuaranteesAttribute.Guarantees" /> property corresponds to the <paramref name="guarantees" /> parameter of the <see cref="M:System.Runtime.Versioning.ComponentGuaranteesAttribute.#ctor(System.Runtime.Versioning.ComponentGuaranteesOptions)" /> constructor.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Gets a value that indicates the guaranteed level of compatibility of a library, type, or type member that spans multiple versions.</para>
</summary>
</Docs>
</Member>
</Members>
</Type>

View File

@@ -0,0 +1,98 @@
<?xml version="1.0" encoding="utf-8"?>
<Type Name="ComponentGuaranteesOptions" FullName="System.Runtime.Versioning.ComponentGuaranteesOptions">
<TypeSignature Language="C#" Value="public enum ComponentGuaranteesOptions" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi sealed ComponentGuaranteesOptions extends System.Enum" />
<AssemblyInfo>
<AssemblyName>mscorlib</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>System.Enum</BaseTypeName>
</Base>
<Attributes>
<Attribute>
<AttributeName>System.Flags</AttributeName>
</Attribute>
</Attributes>
<Docs>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>The <see cref="T:System.Runtime.Versioning.ComponentGuaranteesOptions" /> enumeration is used by the <see cref="T:System.Runtime.Versioning.ComponentGuaranteesAttribute" /> class to indicate the level of compatibility that is guaranteed for a component or class library that spans multiple versions. <see cref="F:System.Runtime.Versioning.ComponentGuaranteesOptions.Exchange" /> provides the strongest compatibility guarantee, followed by <see cref="F:System.Runtime.Versioning.ComponentGuaranteesOptions.Stable" /> and <see cref="F:System.Runtime.Versioning.ComponentGuaranteesOptions.SideBySide" />. <see cref="F:System.Runtime.Versioning.ComponentGuaranteesOptions.None" /> does not promise compatibility across versions.</para>
<para>For a detailed discussion of the meaning of each guarantee, see the <see cref="T:System.Runtime.Versioning.ComponentGuaranteesAttribute" /> topic. </para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Describes the compatibility guarantee of a component, type, or type member that may span multiple versions.</para>
</summary>
</Docs>
<Members>
<Member MemberName="Exchange">
<MemberSignature Language="C#" Value="Exchange" />
<MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Runtime.Versioning.ComponentGuaranteesOptions Exchange = int32(1)" />
<MemberType>Field</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Runtime.Versioning.ComponentGuaranteesOptions</ReturnType>
</ReturnValue>
<Docs>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>The developer promises multi-version exchange compatibility for the type. Consumers of the type can expect compatibility across future versions and can use the type in all their interfaces. Versioning problems cannot be fixed by side-by-side execution. </para>
</summary>
</Docs>
</Member>
<Member MemberName="None">
<MemberSignature Language="C#" Value="None" />
<MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Runtime.Versioning.ComponentGuaranteesOptions None = int32(0)" />
<MemberType>Field</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Runtime.Versioning.ComponentGuaranteesOptions</ReturnType>
</ReturnValue>
<Docs>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>The developer does not guarantee compatibility across versions. Consumers of the component, type, or member can expect future versions to break the existing client.</para>
</summary>
</Docs>
</Member>
<Member MemberName="SideBySide">
<MemberSignature Language="C#" Value="SideBySide" />
<MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Runtime.Versioning.ComponentGuaranteesOptions SideBySide = int32(4)" />
<MemberType>Field</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Runtime.Versioning.ComponentGuaranteesOptions</ReturnType>
</ReturnValue>
<Docs>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>The component has been tested to work when more than one version of the assembly is loaded into the same application domain. Future versions can break compatibility. However, when such breaking changes are made, the old version is not modified but continues to exist alongside the new version.</para>
</summary>
</Docs>
</Member>
<Member MemberName="Stable">
<MemberSignature Language="C#" Value="Stable" />
<MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Runtime.Versioning.ComponentGuaranteesOptions Stable = int32(2)" />
<MemberType>Field</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Runtime.Versioning.ComponentGuaranteesOptions</ReturnType>
</ReturnValue>
<Docs>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>The developer promises stable compatibility across versions. Consumers of the type can expect that future versions will not break the existing client. However, if they do and if the client has not used the type in its interfaces, side-by-side execution may fix the problem.</para>
</summary>
</Docs>
</Member>
</Members>
</Type>

View File

@@ -0,0 +1,132 @@
<?xml version="1.0" encoding="utf-8"?>
<Type Name="ResourceConsumptionAttribute" FullName="System.Runtime.Versioning.ResourceConsumptionAttribute">
<TypeSignature Language="C#" Value="public sealed class ResourceConsumptionAttribute : Attribute" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi sealed beforefieldinit ResourceConsumptionAttribute extends System.Attribute" />
<AssemblyInfo>
<AssemblyName>mscorlib</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>System.Attribute</BaseTypeName>
</Base>
<Interfaces />
<Attributes>
<Attribute>
<AttributeName>System.AttributeUsage(System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Property | System.AttributeTargets.All, Inherited=false)</AttributeName>
</Attribute>
<Attribute>
<AttributeName>System.Diagnostics.Conditional("RESOURCE_ANNOTATION_WORK")</AttributeName>
</Attribute>
</Attributes>
<Docs>
<since version=".NET 2.0" />
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>If the <see cref="T:System.Runtime.Versioning.ResourceConsumptionAttribute" /> attribute is applied to a member, the <see cref="T:System.Runtime.Versioning.ResourceExposureAttribute" /> attribute must also be applied.</para>
<para>If the resource scope of the consumed resource is different than the resource scope of how it is consumed, the constructor that takes a <paramref name="consumptionScope" /> parameter should be used to specify how the resource is consumed. For example, a resource may be exposed as a <see cref="F:System.Runtime.Versioning.ResourceScope.Machine" /> resource, but only used at the <see cref="F:System.Runtime.Versioning.ResourceScope.Process" /> and <see cref="F:System.Runtime.Versioning.ResourceScope.Assembly" /> scope. For this example the <paramref name="consumptionScope" /> parameter is set to <see cref="F:System.Runtime.Versioning.ResourceScope.Process" /> | <see cref="F:System.Runtime.Versioning.ResourceScope.Assembly" />.</para>
<para>The <paramref name="resourceScope" /> parameter in the constructor must specify a <see cref="T:System.Runtime.Versioning.ResourceScope" /> greater than or equal to the resource exposure of all called members. For example, a method consuming two <see cref="F:System.Runtime.Versioning.ResourceScope.Process" /> resources and one <see cref="F:System.Runtime.Versioning.ResourceScope.Machine" /> resource would be identified as consuming a <see cref="F:System.Runtime.Versioning.ResourceScope.Machine" /> and a <see cref="F:System.Runtime.Versioning.ResourceScope.Process" /> resource by setting <paramref name="resourceScope" /> to <see cref="F:System.Runtime.Versioning.ResourceScope.Machine" /> | <see cref="F:System.Runtime.Versioning.ResourceScope.Process" />.</para>
<para>Public members cannot expose <see cref="F:System.Runtime.Versioning.ResourceScope.Assembly" /> or <see cref="F:System.Runtime.Versioning.ResourceScope.Private" /> resources. <see cref="F:System.Runtime.Versioning.ResourceScope.Assembly" /> members cannot expose <see cref="F:System.Runtime.Versioning.ResourceScope.Private" /> resources.</para>
<para>The graph of methods terminates when a <see cref="T:System.Runtime.Versioning.ResourceExposureAttribute" /> attribute with a resource scope of <see cref="F:System.Runtime.Versioning.ResourceScope.None" /> is applied to a method.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Specifies the resource consumed by the member of a class. This class cannot be inherited.</para>
</summary>
</Docs>
<Members>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public ResourceConsumptionAttribute (System.Runtime.Versioning.ResourceScope resourceScope);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(valuetype System.Runtime.Versioning.ResourceScope resourceScope) cil managed" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Parameters>
<Parameter Name="resourceScope" Type="System.Runtime.Versioning.ResourceScope" />
</Parameters>
<Docs>
<remarks>To be added.</remarks>
<since version=".NET 2.0" />
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Initializes a new instance of the <see cref="T:System.Runtime.Versioning.ResourceConsumptionAttribute" /> class specifying the scope of the consumed resource. </para>
</summary>
<param name="resourceScope">
<attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Runtime.Versioning.ResourceScope" /> for the consumed resource.</param>
</Docs>
</Member>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public ResourceConsumptionAttribute (System.Runtime.Versioning.ResourceScope resourceScope, System.Runtime.Versioning.ResourceScope consumptionScope);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(valuetype System.Runtime.Versioning.ResourceScope resourceScope, valuetype System.Runtime.Versioning.ResourceScope consumptionScope) cil managed" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Parameters>
<Parameter Name="resourceScope" Type="System.Runtime.Versioning.ResourceScope" />
<Parameter Name="consumptionScope" Type="System.Runtime.Versioning.ResourceScope" />
</Parameters>
<Docs>
<since version=".NET 2.0" />
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>If the <see cref="T:System.Runtime.Versioning.ResourceExposureAttribute" /> attribute specifies a scope of <see cref="F:System.Runtime.Versioning.ResourceScope.None" />, then the <see cref="T:System.Runtime.Versioning.ResourceConsumptionAttribute" /> attribute must specify a resource it consumes and how it consumes it, by specifying a value for the <paramref name="consumptionScope" /> parameter.</para>
<para>The scope specified by <paramref name="consumptionScope" /> should be less than or equal to the scope specified by <paramref name="resourceScope" />. For example, a <see cref="F:System.Runtime.Versioning.ResourceScope.Process" /> scope can be consumed as a <see cref="F:System.Runtime.Versioning.ResourceScope.Process" /> or <see cref="F:System.Runtime.Versioning.ResourceScope.AppDomain" /> scope, but not as a <see cref="F:System.Runtime.Versioning.ResourceScope.Machine" /> scope.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Initializes a new instance of the <see cref="T:System.Runtime.Versioning.ResourceConsumptionAttribute" /> class specifying the scope of the consumed resource and the scope of how it is consumed.</para>
</summary>
<param name="resourceScope">
<attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Runtime.Versioning.ResourceScope" /> for the consumed resource.</param>
<param name="consumptionScope">
<attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Runtime.Versioning.ResourceScope" /> used by this member.</param>
</Docs>
</Member>
<Member MemberName="ConsumptionScope">
<MemberSignature Language="C#" Value="public System.Runtime.Versioning.ResourceScope ConsumptionScope { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance valuetype System.Runtime.Versioning.ResourceScope ConsumptionScope" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Runtime.Versioning.ResourceScope</ReturnType>
</ReturnValue>
<Docs>
<value>To be added.</value>
<remarks>To be added.</remarks>
<since version=".NET 2.0" />
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Gets the consumption scope for this member.</para>
</summary>
</Docs>
</Member>
<Member MemberName="ResourceScope">
<MemberSignature Language="C#" Value="public System.Runtime.Versioning.ResourceScope ResourceScope { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance valuetype System.Runtime.Versioning.ResourceScope ResourceScope" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Runtime.Versioning.ResourceScope</ReturnType>
</ReturnValue>
<Docs>
<value>To be added.</value>
<remarks>To be added.</remarks>
<since version=".NET 2.0" />
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Gets the resource scope for the consumed resource.</para>
</summary>
</Docs>
</Member>
</Members>
</Type>

View File

@@ -0,0 +1,79 @@
<?xml version="1.0" encoding="utf-8"?>
<Type Name="ResourceExposureAttribute" FullName="System.Runtime.Versioning.ResourceExposureAttribute">
<TypeSignature Language="C#" Value="public sealed class ResourceExposureAttribute : Attribute" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi sealed beforefieldinit ResourceExposureAttribute extends System.Attribute" />
<AssemblyInfo>
<AssemblyName>mscorlib</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>System.Attribute</BaseTypeName>
</Base>
<Interfaces />
<Attributes>
<Attribute>
<AttributeName>System.AttributeUsage(System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Property | System.AttributeTargets.Field | System.AttributeTargets.All, Inherited=false)</AttributeName>
</Attribute>
<Attribute>
<AttributeName>System.Diagnostics.Conditional("RESOURCE_ANNOTATION_WORK")</AttributeName>
</Attribute>
</Attributes>
<Docs>
<since version=".NET 2.0" />
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>The <see cref="T:System.Runtime.Versioning.ResourceConsumptionAttribute" /> attribute must be applied to a member calling a member that has the <see cref="T:System.Runtime.Versioning.ResourceExposureAttribute" /> attribute applied. Public members cannot expose <see cref="F:System.Runtime.Versioning.ResourceScope.Assembly" /> or <see cref="F:System.Runtime.Versioning.ResourceScope.Private" /> resources. Members with <see cref="F:System.Runtime.Versioning.ResourceScope.Assembly" /> scope cannot expose <see cref="F:System.Runtime.Versioning.ResourceScope.Private" /> resources.</para>
<para>The graph of methods terminates when an <see cref="T:System.Runtime.Versioning.ResourceExposureAttribute" /> attribute with a resource scope of <see cref="F:System.Runtime.Versioning.ResourceScope.None" /> is applied to a method.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Specifies the resource exposure for a member of a class. This class cannot be inherited.</para>
</summary>
</Docs>
<Members>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public ResourceExposureAttribute (System.Runtime.Versioning.ResourceScope exposureLevel);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(valuetype System.Runtime.Versioning.ResourceScope exposureLevel) cil managed" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Parameters>
<Parameter Name="exposureLevel" Type="System.Runtime.Versioning.ResourceScope" />
</Parameters>
<Docs>
<remarks>To be added.</remarks>
<since version=".NET 2.0" />
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Initializes a new instance of the <see cref="T:System.Runtime.Versioning.ResourceExposureAttribute" /> class with the specified exposure level.</para>
</summary>
<param name="exposureLevel">
<attribution license="cc4" from="Microsoft" modified="false" />The scope of the resource.</param>
</Docs>
</Member>
<Member MemberName="ResourceExposureLevel">
<MemberSignature Language="C#" Value="public System.Runtime.Versioning.ResourceScope ResourceExposureLevel { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance valuetype System.Runtime.Versioning.ResourceScope ResourceExposureLevel" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Runtime.Versioning.ResourceScope</ReturnType>
</ReturnValue>
<Docs>
<value>To be added.</value>
<remarks>To be added.</remarks>
<since version=".NET 2.0" />
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Gets the resource exposure scope.</para>
</summary>
</Docs>
</Member>
</Members>
</Type>

View File

@@ -0,0 +1,164 @@
<?xml version="1.0" encoding="utf-8"?>
<Type Name="ResourceScope" FullName="System.Runtime.Versioning.ResourceScope">
<TypeSignature Language="C#" Value="public enum ResourceScope" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi sealed ResourceScope extends System.Enum" />
<AssemblyInfo>
<AssemblyName>mscorlib</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>System.Enum</BaseTypeName>
</Base>
<Attributes>
<Attribute>
<AttributeName>System.Flags</AttributeName>
</Attribute>
</Attributes>
<Docs>
<since version=".NET 2.0" />
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>A resource is an object that holds state. Examples of resources include a file on disk, a message queue for a process, and a named <see cref="T:System.Threading.Mutex" />. Knowing an object is a resource does not indicate its appropriate use; the important property of a resource is the scope of the resource. The scope includes both the type and the visibility of the resource. The resource type specifies whether the resource is a machine-level resource, such as a file on disk, a process-wide resource, such as a block of non-shared memory, or an application domain-level resource, such as a lock on an instance of a non-marshal by reference object. The visibility scopes are <see cref="F:System.Runtime.Versioning.ResourceScope.Assembly" /> and <see cref="F:System.Runtime.Versioning.ResourceScope.Private" />, the default is Public, which is implicit if <see cref="F:System.Runtime.Versioning.ResourceScope.Private" /> or <see cref="F:System.Runtime.Versioning.ResourceScope.Assembly" /> are not indicated. There is no enumeration value for Public.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Identifies the scope of a sharable resource.</para>
</summary>
</Docs>
<Members>
<Member MemberName="AppDomain">
<MemberSignature Language="C#" Value="AppDomain" />
<MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Runtime.Versioning.ResourceScope AppDomain = int32(4)" />
<MemberType>Field</MemberType>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Runtime.Versioning.ResourceScope</ReturnType>
</ReturnValue>
<Docs>
<since version=".NET 2.0" />
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>The state is shared by objects within an <see cref="T:System.AppDomain" />.</para>
</summary>
</Docs>
</Member>
<Member MemberName="Assembly">
<MemberSignature Language="C#" Value="Assembly" />
<MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Runtime.Versioning.ResourceScope Assembly = int32(32)" />
<MemberType>Field</MemberType>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Runtime.Versioning.ResourceScope</ReturnType>
</ReturnValue>
<Docs>
<since version=".NET 2.0" />
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>The resource is visible at an assembly scope.</para>
</summary>
</Docs>
</Member>
<Member MemberName="Library">
<MemberSignature Language="C#" Value="Library" />
<MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Runtime.Versioning.ResourceScope Library = int32(8)" />
<MemberType>Field</MemberType>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Runtime.Versioning.ResourceScope</ReturnType>
</ReturnValue>
<Docs>
<since version=".NET 2.0" />
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>The state is shared by objects within a library.</para>
</summary>
</Docs>
</Member>
<Member MemberName="Machine">
<MemberSignature Language="C#" Value="Machine" />
<MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Runtime.Versioning.ResourceScope Machine = int32(1)" />
<MemberType>Field</MemberType>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Runtime.Versioning.ResourceScope</ReturnType>
</ReturnValue>
<Docs>
<since version=".NET 2.0" />
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>The state is shared by objects within the machine.</para>
</summary>
</Docs>
</Member>
<Member MemberName="None">
<MemberSignature Language="C#" Value="None" />
<MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Runtime.Versioning.ResourceScope None = int32(0)" />
<MemberType>Field</MemberType>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Runtime.Versioning.ResourceScope</ReturnType>
</ReturnValue>
<Docs>
<since version=".NET 2.0" />
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>There is no shared state.</para>
</summary>
</Docs>
</Member>
<Member MemberName="Private">
<MemberSignature Language="C#" Value="Private" />
<MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Runtime.Versioning.ResourceScope Private = int32(16)" />
<MemberType>Field</MemberType>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Runtime.Versioning.ResourceScope</ReturnType>
</ReturnValue>
<Docs>
<since version=".NET 2.0" />
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>The resource is visible to only the type.</para>
</summary>
</Docs>
</Member>
<Member MemberName="Process">
<MemberSignature Language="C#" Value="Process" />
<MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.Runtime.Versioning.ResourceScope Process = int32(2)" />
<MemberType>Field</MemberType>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Runtime.Versioning.ResourceScope</ReturnType>
</ReturnValue>
<Docs>
<since version=".NET 2.0" />
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>The state is shared within a process.</para>
</summary>
</Docs>
</Member>
</Members>
</Type>

View File

@@ -0,0 +1,100 @@
<?xml version="1.0" encoding="utf-8"?>
<Type Name="TargetFrameworkAttribute" FullName="System.Runtime.Versioning.TargetFrameworkAttribute">
<TypeSignature Language="C#" Value="public sealed class TargetFrameworkAttribute : Attribute" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi sealed beforefieldinit TargetFrameworkAttribute extends System.Attribute" />
<AssemblyInfo>
<AssemblyName>mscorlib</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>System.Attribute</BaseTypeName>
</Base>
<Interfaces />
<Attributes>
<Attribute>
<AttributeName>System.AttributeUsage(System.AttributeTargets.Assembly, AllowMultiple=false, Inherited=false)</AttributeName>
</Attribute>
</Attributes>
<Docs>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>The <see cref="T:System.Runtime.Versioning.TargetFrameworkAttribute" /> class provides an attribute that you can apply to an assembly to indicate the version of the .NET Framework runtime against which the assembly was built. For example, the following example applies the TargetFrameworkAttribute to an assembly to indicate that it was built using net_v40_long.</para>
<para>code reference: System.Runtime.Versioning.TargetFrameworkAttribute#1</para>
<para>The <see cref="T:System.Runtime.Versioning.TargetFrameworkAttribute" /> class constructor has a single parameter, <paramref name="frameworkName" />, that specifies the .NET Framework version against which the assembly was built. This parameter maps to the <see cref="P:System.Runtime.Versioning.TargetFrameworkAttribute.FrameworkName" /> property. In addition, the <see cref="T:System.Runtime.Versioning.TargetFrameworkAttribute" /> attribute can specify a <see cref="P:System.Runtime.Versioning.TargetFrameworkAttribute.FrameworkDisplayName" /> property to provide a more descriptive .NET Framework version string that is suitable for displaying to clients of the assembly. The following example applies the TargetFrameworkAttribute to an assembly and assigns both property values to indicate that the assembly was built using net_v40_long. </para>
<para>code reference: System.Runtime.Versioning.TargetFrameworkAttribute#2</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Identifies the version of the .NET Framework that a particular assembly was compiled against.</para>
</summary>
</Docs>
<Members>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public TargetFrameworkAttribute (string frameworkName);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(string frameworkName) cil managed" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Parameters>
<Parameter Name="frameworkName" Type="System.String" />
</Parameters>
<Docs>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>The string that is assigned to the <paramref name="frameworkName" /> parameter generally takes the same form as the string that is returned by the <see cref="M:System.Runtime.Versioning.FrameworkName.ToString" /> method.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Initializes an instance of the <see cref="T:System.Runtime.Versioning.TargetFrameworkAttribute" /> class by specifying the .NET Framework version against which an assembly was built.</para>
</summary>
<param name="frameworkName">
<attribution license="cc4" from="Microsoft" modified="false" />The version of the .NET Framework against which the assembly was built.</param>
</Docs>
</Member>
<Member MemberName="FrameworkDisplayName">
<MemberSignature Language="C#" Value="public string FrameworkDisplayName { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance string FrameworkDisplayName" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.String</ReturnType>
</ReturnValue>
<Docs>
<value>To be added.</value>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>The <see cref="P:System.Runtime.Versioning.TargetFrameworkAttribute.FrameworkDisplayName" /> property usually returns a relatively long descriptive string that is suitable for display to a user. </para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Gets the display name of the .NET Framework version against which an assembly was built.</para>
</summary>
</Docs>
</Member>
<Member MemberName="FrameworkName">
<MemberSignature Language="C#" Value="public string FrameworkName { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance string FrameworkName" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.String</ReturnType>
</ReturnValue>
<Docs>
<value>To be added.</value>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>The <see cref="P:System.Runtime.Versioning.TargetFrameworkAttribute.FrameworkName" /> property maps to the <paramref name="frameworkName" /> parameter of the <see cref="M:System.Runtime.Versioning.TargetFrameworkAttribute.#ctor(System.String)" /> constructor. It represents the .NET Framework version in a compact form and typically corresponds to the string that is returned by the <see cref="M:System.Runtime.Versioning.FrameworkName.ToString" /> method. </para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Gets the name of the .NET Framework version against which a particular assembly was compiled.</para>
</summary>
</Docs>
</Member>
</Members>
</Type>

View File

@@ -0,0 +1,106 @@
<?xml version="1.0" encoding="utf-8"?>
<Type Name="VersioningHelper" FullName="System.Runtime.Versioning.VersioningHelper">
<TypeSignature Language="C#" Value="public static class VersioningHelper" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi abstract sealed beforefieldinit VersioningHelper extends System.Object" />
<AssemblyInfo>
<AssemblyName>mscorlib</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>System.Object</BaseTypeName>
</Base>
<Interfaces />
<Docs>
<since version=".NET 2.0" />
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>This class is intended to facilitate the use of the <see cref="T:System.Runtime.Versioning.ResourceConsumptionAttribute" /> and <see cref="T:System.Runtime.Versioning.ResourceExposureAttribute" /> classes.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Provides methods to aid developers in writing version-safe code. This class cannot be inherited.</para>
</summary>
</Docs>
<Members>
<Member MemberName="MakeVersionSafeName">
<MemberSignature Language="C#" Value="public static string MakeVersionSafeName (string name, System.Runtime.Versioning.ResourceScope from, System.Runtime.Versioning.ResourceScope to);" />
<MemberSignature Language="ILAsm" Value=".method public static hidebysig string MakeVersionSafeName(string name, valuetype System.Runtime.Versioning.ResourceScope from, valuetype System.Runtime.Versioning.ResourceScope to) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.String</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="name" Type="System.String" />
<Parameter Name="from" Type="System.Runtime.Versioning.ResourceScope" />
<Parameter Name="to" Type="System.Runtime.Versioning.ResourceScope" />
</Parameters>
<Docs>
<since version=".NET 2.0" />
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>The original name is returned with a scope related suffix. The suffix may include the process identity, the current <see cref="T:System.AppDomain" /> identity, or both.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Returns a version-safe name based on the specified resource name and the intended resource consumption source.</para>
</summary>
<returns>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>A version-safe name.</para>
</returns>
<param name="name">
<attribution license="cc4" from="Microsoft" modified="false" />The name of the resource.</param>
<param name="from">
<attribution license="cc4" from="Microsoft" modified="false" />The scope of the resource.</param>
<param name="to">
<attribution license="cc4" from="Microsoft" modified="false" />The desired resource consumption scope.</param>
</Docs>
</Member>
<Member MemberName="MakeVersionSafeName">
<MemberSignature Language="C#" Value="public static string MakeVersionSafeName (string name, System.Runtime.Versioning.ResourceScope from, System.Runtime.Versioning.ResourceScope to, Type type);" />
<MemberSignature Language="ILAsm" Value=".method public static hidebysig string MakeVersionSafeName(string name, valuetype System.Runtime.Versioning.ResourceScope from, valuetype System.Runtime.Versioning.ResourceScope to, class System.Type type) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.String</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="name" Type="System.String" />
<Parameter Name="from" Type="System.Runtime.Versioning.ResourceScope" />
<Parameter Name="to" Type="System.Runtime.Versioning.ResourceScope" />
<Parameter Name="type" Type="System.Type" />
</Parameters>
<Docs>
<since version=".NET 2.0" />
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>The original name is returned with a scope related suffix.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Returns a version-safe name based on the specified resource name, the intended resource consumption scope, and the type using the resource.</para>
</summary>
<returns>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>A version-safe name.</para>
</returns>
<param name="name">
<attribution license="cc4" from="Microsoft" modified="false" />The name of the resource.</param>
<param name="from">
<attribution license="cc4" from="Microsoft" modified="false" />The beginning of the scope range.</param>
<param name="to">
<attribution license="cc4" from="Microsoft" modified="false" />The end of the scope range.</param>
<param name="type">
<attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Type" /> of the resource.</param>
</Docs>
</Member>
</Members>
</Type>