Reference2 インターフェイス
VSLangProj 名前空間の Reference インターフェイスを拡張します。
名前空間: VSLangProj2
アセンブリ: VSLangProj2 (VSLangProj2.dll 内)
構文
'宣言
<GuidAttribute("4FFF24C5-5644-4A47-A48A-B74C3F1F8FC8")> _
Public Interface Reference2 _
Inherits Reference
[GuidAttribute("4FFF24C5-5644-4A47-A48A-B74C3F1F8FC8")]
public interface Reference2 : Reference
[GuidAttribute(L"4FFF24C5-5644-4A47-A48A-B74C3F1F8FC8")]
public interface class Reference2 : Reference
[<GuidAttribute("4FFF24C5-5644-4A47-A48A-B74C3F1F8FC8")>]
type Reference2 =
interface
interface Reference
end
public interface Reference2 extends Reference
Reference2 型で公開されるメンバーは以下のとおりです。
プロパティ
名前 | 説明 | |
---|---|---|
BuildNumber | 参照のビルド番号を取得します。読み取り専用。 (Reference から継承されます。) | |
BuildNumber | 参照のビルド番号を取得します。読み取り専用。 | |
Collection | このプロパティをサポートしているオブジェクトまたはこのコード コンストラクターに含まれているオブジェクトを含むコレクションを取得します。 (Reference から継承されます。) | |
Collection | References のコレクションを取得します。 | |
ContainingProject | 選択した項目を含むプロジェクトを取得します。読み取り専用。 (Reference から継承されます。) | |
ContainingProject | 参照を含む Project を取得します。 | |
CopyLocal | 参照を local bin のパスにコピーするかどうかを決定します。 (Reference から継承されます。) | |
CopyLocal | 参照を local bin のパスにコピーするかどうかを決定します。 | |
Culture | 参照のカルチャ文字列を取得します。読み取り専用。 (Reference から継承されます。) | |
Culture | 参照のカルチャ文字列を取得します。読み取り専用。 | |
Description | 参照の説明文を取得します。読み取り専用。 (Reference から継承されます。) | |
Description | 参照の説明文を取得します。読み取り専用。 | |
DTE | トップレベルの機能拡張オブジェクトを取得します。 (Reference から継承されます。) | |
DTE | トップレベルの機能拡張オブジェクトを取得します。 | |
Extender[String] | 要求された Extender オブジェクトがこのオブジェクトで利用できる場合はそれを取得します。 (Reference から継承されます。) | |
Extender[String] | 要求された Extender オブジェクトがこのオブジェクトで利用できる場合はそれを返します。 | |
ExtenderCATID | オブジェクトの Extender カテゴリ ID (CATID) を取得します。 (Reference から継承されます。) | |
ExtenderCATID | オブジェクトの Extender カテゴリ ID (CATID) を取得します。 | |
ExtenderNames | オブジェクトで使用できる Extender のリストを取得します。 (Reference から継承されます。) | |
ExtenderNames | オブジェクトで使用できる Extender のリストを取得します。 | |
Identity | 参照の一意の識別子を取得します。読み取り専用。 (Reference から継承されます。) | |
Identity | 参照の一意の識別子を取得します。読み取り専用。 | |
MajorVersion | 参照のメジャー バージョン番号を取得します。読み取り専用。 (Reference から継承されます。) | |
MajorVersion | 参照のメジャー バージョン番号を取得します。読み取り専用。 | |
MinorVersion | 参照のマイナー バージョン番号を取得します。読み取り専用。 (Reference から継承されます。) | |
MinorVersion | 参照のマイナー バージョン番号を取得します。読み取り専用。 | |
Name | オブジェクトの名前を取得します。読み取り専用。 (Reference から継承されます。) | |
Name | オブジェクトの名前を取得します。読み取り専用。 | |
Path | 参照ファイルへのパスを取得します。読み取り専用。 (Reference から継承されます。) | |
Path | 参照ファイルへのパスを取得します。読み取り専用。 | |
PublicKeyToken | 参照アセンブリの公開キー トークンを取得します。 (Reference から継承されます。) | |
PublicKeyToken | 参照アセンブリの公開キー トークンを取得します。 | |
RevisionNumber | 参照のリビジョン番号を取得します。読み取り専用。 (Reference から継承されます。) | |
RevisionNumber | 参照のリビジョン番号を取得します。読み取り専用。 | |
RuntimeVersion | 参照がビルドされた対象のランタイムのバージョンを取得または設定します。読み取り専用。 | |
SourceProject | 参照先がプロジェクトの場合は、Project オブジェクトを取得します。それ以外の場合は、Nothing (nullnull 参照 (Visual Basic では Nothing) 参照) を返します。読み取り専用。 (Reference から継承されます。) | |
SourceProject | 参照先がプロジェクトの場合は、Project オブジェクトを取得します。それ以外の場合は、Nothing (nullnull 参照 (Visual Basic では Nothing) 参照) を返します。読み取り専用。 | |
StrongName | 参照が公開キーと秘密キーのペアで署名されているかどうかを示す値を取得します。読み取り専用。 (Reference から継承されます。) | |
StrongName | 参照が公開キーと秘密キーのペアで署名されているかどうかを示す値を取得します。読み取り専用。 | |
Type | アセンブリと COM コンポーネントのどちらが参照先かを示す prjReferenceType 値を取得します。読み取り専用。 (Reference から継承されます。) | |
Type | アセンブリと COM コンポーネントのどちらが参照先かを示す prjReferenceType 値を取得します。読み取り専用。 | |
Version | 選択されている参照のバージョンを取得します。 (Reference から継承されます。) | |
Version | 選択されている参照のバージョンを取得します。 |
このページのトップへ
メソッド
名前 | 説明 | |
---|---|---|
Remove() | 参照を含む References オブジェクトから参照を取得します。 (Reference から継承されます。) | |
Remove() | 参照を含む References オブジェクトから参照を削除します。 |
このページのトップへ
解説
VSProject オブジェクトの References コレクションによって返される Reference オブジェクトは、Reference インターフェイスと Reference2 インターフェイスの両方をサポートしています。 Reference2 のメンバーにアクセスするには、オブジェクトを Reference2 にキャストします。
Reference2 は、VSLangProj 名前空間に存在する Reference のすべてのメンバーと以下を定義します。
例
テンプレートを使用して新しいプロジェクトを作成し、参照を 2 つ追加し、その参照の型を表示する例を次に示します。
'Macro Editor
Imports VSLangProj
Sub NewProject()
Dim newName As String = InputBox("New project name:")
' Create a new project in the solution based on an existing
' project.
Dim newProject As Project = DTE.Solution.AddFromTemplate( _
"C:\TemplatePath\Template.vbproj", _
"C:\ProjectPath\" & newName, newName)
' Add a COM reference and display its type.
Dim vsProject As VSProject = CType(newProject.Object, VSProject)
Dim newRef As Reference
newRef = vsProject.References.Add("C:\WINNT\System32\msmask32.ocx")
MsgBox(GetRefTypeName(newRef))
' Add an Assembly reference and display its type, "Assembly".
newRef = vsProject.References.Add("C:\SomeProject\bin\SomeProject.dll")
MsgBox(GetRefTypeName(newRef))
End Sub
Private Function GetRefTypeName(ByVal ref As Reference) _
As String
Dim type As String
Select Case ref.Type
Case prjReferenceType.prjReferenceTypeActiveX
type = "COM"
Case prjReferenceType.prjReferenceTypeAssembly
type = "Assembly"
End Select
Return type
End Function
参照のプロパティの簡単なレポートを作成する例を次に示します。
' Macro Editor
' Create a small report about a reference.
Imports VSLangProj
Function ReportReferences(ByVal aRef As Reference) As String
Dim report As String = ""
Dim type As String
' Each entry in the ArrayList will contain a label and a value.
Dim ht As System.Collections.ArrayList = _
New System.Collections.ArrayList()
With aRef
ht.Add(New String() {"Name", .Name})
ht.Add(New String() {"Description", .Description})
ht.Add(New String() {"Version", String.Format("{0}.{1}.{2}.{3}", _
.MajorVersion, .MinorVersion, .BuildNumber, .RevisionNumber)})
ht.Add(New String() {"Location", .ContainingProject.FullName})
Select Case .Type
Case prjReferenceType.prjReferenceTypeActiveX
type = "COM"
Case prjReferenceType.prjReferenceTypeAssembly
type = "Assembly"
End Select
ht.Add(New String() {"Type", type})
ht.Add(New String() {"Culture", .Culture})
End With
Dim datas() As String
For Each datas In ht
report &= datas(0) & ControlChars.Tab & datas(1) & ControlChars.CrLf
Next
Return report
End Function