ProjectMetadata クラス


評価される設計時のメタデータ。An evaluated design-time metadatum. 親は ProjectItemDefinition または ProjectItem です。Parented either by a ProjectItemDefinition or a ProjectItem.

public ref class ProjectMetadata : IEquatable<Microsoft::Build::Evaluation::ProjectMetadata ^>
public class ProjectMetadata : IEquatable<Microsoft.Build.Evaluation.ProjectMetadata>
type ProjectMetadata = class
    interface IEquatable<ProjectMetadata>
Public Class ProjectMetadata
Implements IEquatable(Of ProjectMetadata)


組み込みメタデータ (% (Filename) など) を表すために使用されませんでした。Never used to represent built-in metadata, like %(Filename). 常にバッキング XML オブジェクトがあります。There is always a backing XML object.



condition 属性の場所Location of the condition attribute


評価されたメタデータ値を取得します。Gets the evaluated metadata value. 直接設定できません。未評価の値のみを設定できます。Cannot be set directly: only the unevaluated value can be set. null になることはありません。Is never null.


メタデータの元がインポートされたファイルである場合は、true を返します。If the metadatum originated in an imported file, returns true. それ以外の場合は、false を返します。Otherwise returns false.


親項目の定義または項目の項目の種類。The item type of the parent item definition or item.


要素の場所Location of the element


メタデータの名前Name of the metadata


評価時にこのメタデータによってオーバーライドされた (項目定義または項目の) 直前のメタデータ。Any immediately previous metadatum (from item definition or item) that was overridden by this one during evaluation. これには、論理プロジェクト ファイルで上にあり、同じ型の項目定義にあり、条件が true と評価される同じ名前のメタデータがすべて含まれます。This would include all metadata with the same name that lie above in the logical project file, who are on item definitions of the same type, and whose conditions evaluated to true. ある項目にこのメタデータがある場合、条件が true と評価され、その項目定義のメタデータの後にある、同じ項目の同じ名前を持つすべての前のメタデータが含まれます。If this metadatum is on an item, it would include any previous metadatum with the same name on the same item whose condition evaluated to true, and following that any item definition metadata. 上に何もない場合、これは null です。If there are none above this is null. 最後の変更以降にプロジェクトが再評価されていない場合、この値は正しくない可能性があります。If the project has not been reevaluated since the last modification this value may be incorrect.


このメタデータが存在するプロジェクト。Project that this metadatum lives in. ProjectMetadata は常にプロジェクトに存在します。ProjectMetadata's always live in a project.


未評価のメタデータ値を取得または設定します。Gets or sets the unevaluated metadata value.

セッターによって、評価されていない値が更新されるだけでなく、評価済み値が更新されます。ただし、再評価まではプロジェクトの他の部分に影響しません。As well as updating the unevaluated value, the setter updates the evaluated value, but does not affect anything else in the project until reevaluation. たとえば、型 "i" の項目で "m" という名前のメタデータの一部が変更されても、再評価までは "@(j->'%(m)')" から評価される "j" に影響しません。For example, --if a piece of metadata named "m" is modified on item of type "i", it does not affect "j" which is evaluated from "@(j->'%(m)')" until reevaluation. -- "m" の未評価の値が、評価によって変更されるもの ("$(p)" など) に設定されている場合、再評価まで、評価された値は "$(p)" に設定されます。--if the unevaluated value of "m" is set to something that is modified by evaluation, such as "$(p)", the evaluated value will be set to "$(p)" until reevaluation. プロジェクトが完全に自己矛盾のない状態になるとは限らないため、これは便利です。This is a convenience that it is understood does not necessarily leave the project in a perfectly self consistent state.

ProjectItem を使用してメタデータを設定すると、基になる ProjectItemElement は、項目リスト、ワイルドカード、またはセミコロン式を使用して作成されている場合に分割される可能性があります。これは、呼び出し元がその特定の項目にのみ影響を与えることを明らかに意図していたためです。Setting metadata through a ProjectItem may cause the underlying ProjectItemElement to be split, if it originated with an itemlist, wildcard, or semicolon expression, because it was clear that the caller intended to only affect that particular item. ProjectMetadata を使用してメタデータを設定しても分割は発生しません。これは、呼び出し元が、基になる ProjectMetadataElement を使用するすべての項目に影響を与えることを想定しているためです。Setting metadata through a ProjectMetadata does not cause any splitting, because we assume the caller presumably intends to affect all items using the underlying ProjectMetadataElement. 少なくとも、これは妥当な想定です。メタデータに、それに含まれる項目へのポインターを保持する必要がなくなります。At least, this seems a reasonable assumption, and it avoids the need for metadata to hold a pointer to their containing items.


バッキング XML メタデータ。Backing XML metadata. null にすることはできません。Can never be null.



指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(継承元 Object)

既定のハッシュ関数として機能します。Serves as the default hash function.

(継承元 Object)

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(継承元 Object)

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(継承元 Object)

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(継承元 Object)



このメタデータを別のものと比較して、等しいかどうかを確認します。Compares this metadata to another for equivalence.